/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
@media (min-width: 1024px) and (max-width: 1200px) {
	.fixed-width-desktop {
        max-width: 100% !important;
/*         width: auto !important; */
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
}
.elementor-heading-title a{
	text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 200ms ease-in;
}
.elementor-heading-title:hover a{
	border-color: currentColor;
}
/* .e-n-menu-title.e-current a{
	border-bottom: 2px solid #03BEC3 !important;
} */
#susbcribe-btn, #susbcribe-btn-dark {
    border-radius: 8px;
    border: 2px solid #03BEC3;
    background: rgba(255, 255, 255, 0.05);
    padding: 12px 20px;
}
#susbcribe-btn:hover, #susbcribe-btn-dark:hover {
    background: #03BEC3;
}
#susbcribe-btn-dark span {
    color: #0D1F2D !important;
}
/* body.is-scrolled .header-dark{
  padding-block-start: 8px !important;
  padding-block-end: 0px !important;
} */
body.is-scrolled .sticky-nav{
	padding-top: 0px !important;
}
body.is-scrolled .sticky-nav-light {
	padding-top: 8px !important;
}
/* body.is-scrolled .top-header-items{
	padding: 0px 8px !important;
} */
#susbcribe-btn-light {
    border-radius: 8px;
    border: 1px solid #03BEC3;
    background: rgba(255, 255, 255, 0.05);
    padding: 12px 20px;
}
#susbcribe-btn-light:hover {
    background: #03BEC3;
}
#susbcribe-btn-light span {
    color: #fff !important;
}

.top-header-items > *:not(:first-child) {
  position: relative;
}
.top-header-items > *:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 16px;
  background: rgba(13, 31, 45, 0.05);
}
.top-header-items .e-n-menu-item {
  position: relative;
}
.top-header-items .e-n-menu-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -20px;
    top: 54%;
    transform: translateY(-50%);
    width: 1px;
    height: 16px;
    background: rgba(13, 31, 45, 0.05);
}
.top-header-items ul li:first-child{
    margin-left: 8px;
}
header.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 999;
}
.logo-light{
    display: none;
}
body.home .logo-light{
    display: block;
}
/* body.home .sticky-nav, 
body.home .logo-dark {
    display: none !important;
} */
body:not(.home) .logo-dark {
  display: block !important;
}
body:not(.home) .bg-header {
  background: #F1EDEA !important;
}
.bg-header {
  transition: background-color 0.3s ease;
}
body.home.is-scrolled .bg-header{
	background: #0D1F2D !important;
	padding-bottom: 8px;
}
body.is-scrolled .bg-header {
    background-color: #F1EDEA;
    padding-top: 8px;
    padding-bottom: 0;
}
.logo-dark,
.logo-light {
  transition: transform 0.3s ease;
  transform-origin: left center;
}
body.is-scrolled .logo-container,
body.is-scrolled .logo-container-dark {
  transform: scale(0.75);
}
.term-sep {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: 0 6px;
}
.term-sep svg {
  display: block;
}
.terms-sep .elementor-post-info__terms-list {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    margin: 0 auto;
}
.veriva-timeline {
  --veriva-teal: #03BEC3;
  --veriva-teal-dark: #0D1F2D;
  --veriva-bg: #E6F9F9;
  background: var(--veriva-bg);
  border-radius: 12px;
  padding: 48px 40px;
}
.veriva-timeline__track {
  position: relative;
}
.veriva-timeline__line {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 34px;
  height: 2px;
  background: var(--veriva-teal);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.2s cubic-bezier(0.65, 0, 0.35, 1);
}
.veriva-timeline__arrow {
  position: absolute;
  top: 10px;
  right: 20px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--veriva-teal);
  transform: scale(0);
  transform-origin: left center;
  transition: transform 0.3s ease 1.1s;
}
.veriva-timeline__steps {
  position: relative;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}
.veriva-timeline__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.veriva-timeline__dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--veriva-teal);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  opacity: 0;
  transform: scale(0.4);
  transition: transform 0.35s ease, box-shadow 0.2s ease, opacity 0.35s ease;
}
.veriva-timeline__step.is-complete .veriva-timeline__dot {
  background: var(--veriva-teal);
  border-color: var(--veriva-teal);
}
.veriva-timeline__check {
  width: 14px;
  height: 14px;
}
.veriva-timeline__label {
  color: #0D1F2D;
  font-family: 'Marcellus';
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.4s ease, transform 0.4s ease, font-weight 0.2s ease;
  text-align: center;
}
.veriva-timeline__step:nth-child(1) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(1) .veriva-timeline__label { transition-delay: 0.05s; }
.veriva-timeline__step:nth-child(2) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(2) .veriva-timeline__label { transition-delay: 0.35s; }
.veriva-timeline__step:nth-child(3) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(3) .veriva-timeline__label { transition-delay: 0.65s; }
.veriva-timeline__step:nth-child(4) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(4) .veriva-timeline__label { transition-delay: 0.95s; }
.veriva-timeline__step:nth-child(5) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(5) .veriva-timeline__label { transition-delay: 1.25s; }
.veriva-timeline.is-inview .veriva-timeline__line {
  transform: scaleX(1);
}
.veriva-timeline.is-inview .veriva-timeline__arrow {
  transform: scale(1);
}
.veriva-timeline.is-inview .veriva-timeline__dot,
.veriva-timeline.is-inview .veriva-timeline__label {
  opacity: 1;
  transform: none;
}
.veriva-timeline__dot:hover,
.veriva-timeline__dot:focus-visible {
  box-shadow: 0 0 0 6px rgba(3, 190, 195, 0.15);
}
.veriva-timeline__dot:hover + .veriva-timeline__label,
.veriva-timeline__dot:focus-visible + .veriva-timeline__label {
  font-weight: 600;
}
@media (max-width: 600px) {
  .veriva-timeline {
    padding: 16px 8px;
  }
  .veriva-timeline__label {
    font-size: 10px;
  }
  .veriva-timeline__step{
    gap: 6px !important;
  }
}
.veriva-newsletter-popup {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.veriva-newsletter-popup {
  overflow: hidden;
}
.veriva-newsletter-popup::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13,31,45,0.40) 0%, rgba(13,31,45,0) 62.53%);
  pointer-events: none;
  z-index: 1;
}
.slider-destinations .veriva-carousel-progress {
    position: absolute;
    top: -60px;
    left: 0;
    right: 160px;
    height: 6px;
    background: #DCEEEC;
    border-radius: 999px;
    overflow: hidden;
    z-index: 2;
    max-width: 39%;
}
 
.slider-destinations .veriva-carousel-progress-fill {
    display: block;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #03BEC3, #7FE0DA);
    border-radius: 999px;
    transition: width 0.3s ease;
}
.center-slide-info, .center-slide-info span{
  display: none;
}
.slider-destinations .center-slide-visible .center-slide-info,
.slider-destinations .center-slide-visible .center-slide-info span {
  display: block !important;
}
.slider-destinations .center-slide-visible img{
  height: 520px !important;
}
.slider-destinations .center-slide-visible div{
  text-align: left !important;
}
.slider-destinations .center-slide-visible .main-title{
  display: none;
}
.slider-destinations .center-slide-visible .elementor-widget-theme-post-featured-image{
  margin-top: 34px;
}
@media (min-width: 1025px) {
    .q-sidebar__item{
        padding: 48px 0 !important;
    }
	.veriva-dest-stat{
		padding: 24px 64px !important;
	}
    /* .slider-destinations .swiper {
        overflow: visible;
    } */
    .slider-destinations .swiper-slide {
        transition: transform 0.3s ease;
        transform: scale(0.91);
    }
    .slider-destinations .swiper-slide.center-slide-visible {
        transform: scale(1.09);
        position: relative;
        z-index: 2;
    }
}
.img-insider-voice {
  position: relative;
  display: inline-block; /* sau block, după caz */
}
.img-insider-voice img {
  display: block;
  width: 100%;
  height: 100%;
}
.img-insider-voice::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 190, 195, 0.00) 75.16%, var(--Teal-Teal-600, #05ADB1) 100%);
  pointer-events: none;
  border-radius: 8px;
}
.card-insider-voice:not(:has(.img-insider-voice)) {
    background: #E6F9F9 !important;
}
.card-insider-voice:not(:has(.img-insider-voice)) .author-box-info {
  order: 2;
}
.card-insider-voice:not(:has(.img-insider-voice)) .quote-text {
  order: 1;
}
.card-insider-voice:not(:has(.img-insider-voice)) .elementor-author-box__name {
  color: #0D1F2D !important;
}
.card-insider-voice:not(:has(.img-insider-voice)) .elementor-widget-author-box{
  margin-top: 0px !important;
  position: relative;
  top: -16px;
}
.search-term-highlight {
    color: #03BEC3;
}
@media (min-width: 1025px) {
    .veriva-grid-divider {
      grid-column: 1 / -1 !important;
      border-top: 1px solid #D9D9D9;
      margin: 32px 0 !important;
  }
}
.veriva-destination-list {
    column-count: 2;
    column-gap: 60px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.veriva-destination-list li {
    padding: 14px 0;
    border-bottom: 1px solid #F1EDEA;
    break-inside: avoid;
}

@media (max-width: 767px) {
    .veriva-destination-list {
        column-count: 1;
    }
}
.veriva-destination-list li a {
    color: #3D4C57;
    text-decoration: none;
    display: block;
}

.veriva-destination-list li a:hover {
    color: #03BEC3;
}
.veriva-dest-stats {
    display: flex;
    border: 1px solid #d5d5d5;
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
}
.veriva-dest-stat {
    flex: 1;
    text-align: center;
    padding: 16px 32px;
    border-right: 1px solid #d5d5d5;
}
.veriva-dest-stat:last-child {
    border-right: 0;
}
.veriva-dest-stat__label {
    display: block;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0d1f2d;
    margin-bottom: 6px;
    min-width: 100px;
}
.veriva-dest-stat__num {
    display: block;
    font-size: 28px;
    font-weight: 600;
    color: #03bec3;
}
.veriva-besttime {
    background: #E6F9F9;
    border-radius: 16px;
    padding: 48px 40px;
    position: relative;
}
.veriva-besttime__plane {
    position: absolute;
    top: 48px;
    right: 40px;
    width: 48px;
    height: auto;
}
.veriva-besttime__title {
    font-size: 24px !important;
    font-weight: 400;
    color: #1a2b2e;
    margin: 0 0 32px;
    padding-right: 60px;
}
.veriva-besttime__title span {
	padding-top: 4px;
    color: #05ADB1;
	font-size: 32px !important;
    display: block;
}
.veriva-besttime__title {
    border-bottom: 1px solid #D5D5D5;
    padding-bottom: 32px;
}
.veriva-besttime__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-top: 24px;
}
.veriva-besttime__month {
	font-family: 'Satoshi' !important;
    text-align: center;
    padding: 7px 0;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #E6F9F9;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #3a4a4d;
}
.veriva-besttime__month.is-on {
    background: #03BEC3;
    border-color: #03BEC3;
    color: #0D1F2D;
}
.veriva-besttime__note {
    margin-top: 24px;
	font-family: 'Satoshi';
    font-size: 12px;
    line-height: 120%;
    color: #8F989E;
	letter-spacing: -0.12px;
    max-width: 100%;
}

@media (max-width: 600px) {
    .veriva-besttime__plane {
        width: 34px;
        top: 28px;
        right: 24px;
    }
    .veriva-besttime__grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .veriva-besttime__note {
        max-width: 100%;
    }
}
.veriva-focus {
	display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    flex-direction: column;
    align-content: flex-start;
}
.veriva-focus__label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5a6b70;
}
.veriva-focus__chips {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}
.veriva-focus__chip {
    padding: 6px 14px;
    border: 1px solid #d4dde0;
    border-radius: 6px;
    font-size: 14px;
    color: #2a3a3d;
    background: #fff;
    line-height: 1.4;
}
.veriva-media {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.veriva-media__link {
    text-decoration: none;
    color: inherit;
}
.veriva-media__card {
	display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #F1EDEA;
    border-radius: 12px;
    padding: 32px;
    background: #fff;
    transition: box-shadow 0.15s;
}
.veriva-media__link:hover .veriva-media__card {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}
.veriva-media__outlet {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.4px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #12b5cb;
    margin-bottom: 12px;
}
.veriva-media__title {
    font-weight: 400;
    color: #000 !important;
    margin: 0 0 auto;
    line-height: 120%;
	border-bottom: 1px solid #F1EDEA;
    padding-bottom: 24px;
}
.veriva-media__logo {
    margin-top: 24px;
    max-height: 96px;
    width: auto;
    opacity: 0.2;
    object-fit: contain;
    align-self: flex-start;
}

@media (max-width: 768px) {
    .veriva-media {
        grid-template-columns: 1fr;
    }
}
.veriva-timeline--framed {
    border-radius: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.20);
    background: rgba(255, 255, 255, 0.05);
}

.veriva-timeline--framed .veriva-timeline__line {
    right: 14px;
}

.veriva-timeline--framed .veriva-timeline__arrow {
    display: none;
}

.veriva-timeline--framed .veriva-timeline__dot {
    background: transparent;
}

.veriva-timeline--framed .veriva-timeline__label {
    color: #FFFFFF;
}
.veriva-timeline--framed {
    border-radius: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.20);
    background: rgba(255, 255, 255, 0.05);
}

.veriva-timeline--framed .veriva-timeline__line {
    left: 10%;
    right: 10%;
}

.veriva-timeline--framed .veriva-timeline__arrow {
    display: none;
}

.veriva-timeline--framed .veriva-timeline__dot {
    background: #0D1F2D;
}

.veriva-timeline--framed .veriva-timeline__label {
    color: #FFFFFF;
}
.veriva-timeline--framed {
    padding: 24px !important;
}
.veriva-timeline__heading {
    margin: 0 0 24px;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    color: #FFFFFF !important;
}
.veriva-timeline__heading-accent {
    color: #03BEC3;
}

/* =========================================================
 * Veriva Compass — Single Property page
 * Hero photo gallery + "The Compass Star" radar chart
 * ========================================================= */

.veriva-property-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
    border-radius: inherit;
}

.veriva-hero-gallery {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.veriva-hero-gallery__thumbs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}

.veriva-hero-gallery__thumb {
    display: block;
    width: 96px;
    height: 64px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
}

.veriva-hero-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.veriva-hero-gallery__see-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FFFFFF;
    color: #0D1F2D;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
    white-space: nowrap;
}

.veriva-hero-gallery__see-all:hover {
    background: #E6F9F9;
    color: #0D1F2D;
}

.veriva-hero-gallery__hidden {
    display: none;
}

@media (max-width: 767px) {
    .veriva-hero-gallery {
        top: 12px;
        right: 12px;
    }
    .veriva-hero-gallery__thumb {
        width: 64px;
        height: 44px;
    }
}

/* Compass Star radar chart */

.veriva-compass-star {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    position: relative;
}

.veriva-compass-star__svg {
    width: 100%;
    max-width: 630px;
    height: auto;
}

.veriva-compass-star__ring {
    fill: none;
    stroke: #D9E6E6;
    stroke-width: 1;
}

.veriva-compass-star__axis {
    stroke: #D9E6E6;
    stroke-width: 1;
}

.veriva-compass-star__shape {
    fill: rgba(3, 190, 195, 0.25);
    stroke: #03BEC3;
    stroke-width: 2;
    stroke-linejoin: round;
}

.veriva-compass-star__dot {
    fill: #06BEC3;
}

.veriva-compass-star__label {
    font-size: 16px;
    font-weight: 600;
    fill: #fff;
}

.veriva-compass-star__legend {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid #3D4C57;
    border-radius: 8px;
    padding: 0;
    overflow: hidden;
}

.veriva-compass-star__legend-item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 16px;
}

.veriva-compass-star__legend-item:nth-child(n+3) {
    border-top: 1px solid #3D4C57;
}

.veriva-compass-star__legend-item:nth-child(odd) {
    border-right: 1px solid #3D4C57;
}

.veriva-compass-star__legend-name {
    font-size: 13px;
    color: #FFF;
}

.veriva-compass-star__legend-tier {
    font-size: 13px;
    font-weight: 600;
    color: #03BEC3;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .veriva-compass-star__legend {
        grid-template-columns: 1fr;
    }
}


/* Consolidated property hero (single shortcode) */
.veriva-property-hero {
    position: relative;
    min-height: 460px;
    border-radius: 16px;
    overflow: hidden;
}

.veriva-property-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.veriva-property-hero__content {
    position: absolute;
    left: 32px;
    bottom: 32px;
    right: 160px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.veriva-property-hero__location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.veriva-property-hero__title {
    color: #FFFFFF;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0;
}

.veriva-property-hero__gallery {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.veriva-property-hero__thumbs {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.veriva-property-hero__thumb {
    display: block;
    width: 96px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
}

.veriva-property-hero__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.veriva-property-hero__see-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FFFFFF;
    color: #0D1F2D;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
    white-space: nowrap;
}

.veriva-property-hero__see-all:hover {
    background: #E6F9F9;
}

.veriva-property-hero__hidden {
    display: none;
}

@media (max-width: 767px) {
    .veriva-property-hero {
        min-height: 360px;
    }
    .veriva-property-hero__title {
        font-size: 24px;
    }
    .veriva-property-hero__content {
        right: 24px;
    }
    .veriva-property-hero__gallery {
        top: 12px;
        right: 12px;
    }
    .veriva-property-hero__thumb {
        width: 60px;
        height: 42px;
    }
}


/* Single Property template — hero row + compass star section (element-scoped) */
.elementor-element-d3af8b0 {
    position: relative !important;
    overflow: hidden !important;
    min-height: 620px !important;
    border-radius: 16px !important;
    padding: 32px !important;
}

.elementor-element-327312b {
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 48px 24px !important;
}


/* Hero gallery — stacked thumbs + faded "peek" card with overlapping CTA */
.veriva-property-hero__thumb {
    width: 130px;
    height: 92px;
    border-radius: 16px;
    border-width: 4px;
    box-shadow: 0 8px 20px rgba(13, 31, 45, 0.3);
}

.veriva-property-hero__thumbs {
    gap: 10px;
}

.veriva-property-hero__more {
    position: relative;
    width: 130px;
    margin-top: 6px;
}

.veriva-property-hero__peek {
    display: block;
    position: relative;
    width: 100%;
    height: 34px;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
    border: 4px solid rgba(255, 255, 255, 0.95);
    border-bottom: none;
}

.veriva-property-hero__peek img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 92px;
    object-fit: cover;
    display: block;
}

.veriva-property-hero__peek::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(13, 31, 45, 0) 0%, rgba(13, 31, 45, 0.6) 100%);
}

.veriva-property-hero__more .veriva-property-hero__see-all {
    position: absolute;
    left: 50%;
    bottom: -16px;
    top: auto;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    .veriva-property-hero__thumb {
        width: 90px;
        height: 64px;
    }
    .veriva-property-hero__more {
        width: 90px;
    }
}


/* Hero gallery (veriva-hero-gallery) — bigger thumbs + faded "peek" card + overlapping CTA */
.veriva-hero-gallery__thumb {
    width: 130px;
    height: 92px;
    border-radius: 16px;
    border-width: 10px;
    box-shadow: 0 8px 20px rgba(13, 31, 45, 0.3);
}

.veriva-hero-gallery__thumbs {
    gap: 10px;
}

.veriva-hero-gallery__more {
    position: relative;
    width: 130px;
    margin-top: 6px;
}

.veriva-hero-gallery__peek {
    display: block;
    position: relative;
    width: 100%;
    height: 34px;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
    border: 10px solid rgba(255, 255, 255, 0.95);
    border-bottom: none;
}

.veriva-hero-gallery__peek {
    background-size: cover !important;
    min-height: 120px;
}

.veriva-hero-gallery__see-all {
    position: absolute;
    left: 50%;
    bottom: 30px;
    top: auto;
    transform: translateX(-50%);
    border-radius: 12px;
    z-index: 5;
}

@media (max-width: 767px) {
    .veriva-hero-gallery__thumb {
        width: 90px;
        height: 64px;
    }
    .veriva-hero-gallery__more {
        width: 90px;
    }
}


/* Property sidebar — Location card */
.veriva-location-card {
    background: #F1EDEA;
    border-radius: 12px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.veriva-location-card__label {
    color: #0D1F2D;
    font-family: 'Satoshi';
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; 
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.veriva-location-card__heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.veriva-location-card__heading {
    margin: 0;
    color: #0D1F2D !important;
    font-family: 'Marcellus';
    font-size: 24px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 28.8px */
    letter-spacing: -0.48px;
}

.veriva-location-card__flag {
    width: 32px;
    height: 24px;
    object-fit: cover;
    border-radius: 3px;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(13, 31, 45, 0.1);
}

.veriva-location-card__address {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    border-radius: 8px;
    border: 1px solid rgba(13, 31, 45, 0.10);
    background: #E7E9EA;
    padding: 8px 12px;
    font-size: 13px;
    color: #3D4C57;
    margin-bottom: 16px;
    line-height: 120%;
}

.veriva-location-card__pin {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.veriva-location-card__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0px;
    border-bottom: 1px solid #0D1F2D1A;
    padding-bottom: 12px;
    font-size: 13px;
}

.veriva-location-card__row-label {
    color: var(--Navy-Blue-Navy-Blue-300, #5C6972);
    text-transform: uppercase;
    font-feature-settings: 'liga' off, 'clig' off;
    /* Caption 3 */
    font-family: 'Satoshi';
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 12px */
    letter-spacing: -0.1px;
}

.veriva-location-card__row-value {
    color: var(--Navy-Blue-Navy-Blue-500, #0D1F2D);
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Satoshi';
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 14.4px */
    letter-spacing: -0.12px;
}


/* Sidebar column wrapper — stack "Discover more" box + Location card */
.elementor-element-7ab800a {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 213px !important;
    flex-shrink: 0 !important;
}

.elementor-element-9b914e3,
.elementor-element-602a7ef {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
}


/* What this place offers */
.veriva-offers {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.veriva-offers__item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-radius: var(--Corner-Radius---S, 12px);
    border: 2px solid var(--Grey-BG, #F1EDEA);
    padding: 24px;
}

.veriva-offers__header {
    display: flex;
    align-items: center;
    gap: 8px;
}

.veriva-offers__icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex-shrink: 0;
}

.veriva-offers__title {
  margin: 0 !important;
  color: #03BEC3 !important;
  font-feature-settings: 'liga' off, 'clig' off;
  /* Subtitle 2 */
  font-family: 'Satoshi' !important;
  font-size: 14px !important;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; /* 16.8px */
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.veriva-offers__desc {
    margin: 0;
    color: #3D4C57 !important;
    font-family: 'Satoshi' !important;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
    letter-spacing: -0.16px;
}

/* Quote */
.veriva-quote {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 0 0 24px;
    border-left: 3px solid #03BEC3;
}

.veriva-quote__text {
    border-left: 0 !important;
    color: #0D1F2D;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Marcellus' !important;
    font-size: 24px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 28.8px */
    letter-spacing: -0.48px;
    margin-bottom: 0;
    padding: 0 !important;
}

.veriva-quote__attribution {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
}

.veriva-quote__author {
    color: #05ADB1 !important;
    font-family: 'Satoshi' !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 19.2px */
    letter-spacing: -0.16px;
}

.veriva-quote__role {
    color: #05ADB1 !important;
    font-family: 'Satoshi' !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 19.2px */
    letter-spacing: -0.16px;
}

.veriva-quote__role::before {
    content: '· ';
}

/* Certificates & Awards */
.veriva-certificates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
}

.veriva-certificates__item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #FFF;
    border-radius: var(--Corner-Radius---S, 12px);
    border: 2px solid var(--Grey-BG, #F1EDEA);
    padding: 24px;
}

.veriva-certificates__header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.veriva-certificates__logo {
    width: 96px;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 50%;
}

.veriva-certificates__title {
    margin-bottom: 0 !important;
    color: #3D4C57 !important;
    font-family: 'Satoshi' !important;
    font-size: 14px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 120% !important; /* 16.8px */
    letter-spacing: 1.4px !important;
    text-transform: uppercase;
}

.veriva-certificates__desc {
    color: #3D4C57 !important;
    font-family: 'Satoshi' !important;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
    letter-spacing: -0.16px;
}

@media (max-width: 767px) {
    .veriva-certificates {
        grid-template-columns: 1fr;
    }
}


/* Hero gallery — resized thumbs (316x210 desktop, responsive), button icon + emerging position */
.veriva-hero-gallery__thumbs {
    --thumb-w: min(316px, 46vw);
    --thumb-h: calc(var(--thumb-w) * 210 / 316);
}

.veriva-hero-gallery__thumb {
    width: var(--thumb-w);
    height: var(--thumb-h);
}

.veriva-hero-gallery__more {
    width: var(--thumb-w);
}

.veriva-hero-gallery__peek {
    height: calc(var(--thumb-h) * 0.37);
}

.veriva-hero-gallery__see-all {
    gap: 4px;
    padding: 12px 32px;
}

.veriva-hero-gallery__see-all-icon {
    flex-shrink: 0;
}



@media (max-width: 767px) {
    .veriva-hero-gallery__thumbs {
        --thumb-w: min(140px, 38vw);
    }
    .veriva-hero-gallery__see-all {
        padding: 10px 20px;
    }
}


/* Hide section title/divider pairs when their content shortcode renders nothing. */
.veriva-hide-if-empty-compass:has(~ .elementor-element-d265373 .elementor-shortcode:empty) {
    display: none !important;
}

.veriva-hide-if-empty-offers:not(:has(~ .elementor-element-231e058 .elementor-shortcode:not(:empty))):not(:has(~ .elementor-element-7dac772 .elementor-shortcode:not(:empty))) {
    display: none !important;
}

.veriva-hide-if-empty-certificates:has(~ .elementor-element-94ad202 .elementor-shortcode:empty) {
    display: none !important;
}


/* Sticky sidebar (Discover more + Location card) while scrolling through the main content column. */
.elementor-element-7ab800a {
    position: sticky !important;
    top: 165px !important;
    align-self: flex-start !important;
}

@media (max-width: 768px) {
    .elementor-element-7ab800a {
        position: static !important;
        top: auto !important;
    }
}


/* Featured Image used as background layer for the hero-section flexbox (d8da688),
   bypassing Elementor V4's buggy dynamic background-image caching (elementor/elementor#36245). */
.elementor-element-d8da688 {
    position: relative !important;
    overflow: hidden !important;
}

.elementor-element-81c2c48 {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

.elementor-element-81c2c48 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.elementor-element-81c2c48::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #0D1F2D 0%, rgba(13, 31, 45, 0.40) 100%);
}

.elementor-element-d8da688 > *:not(.elementor-element-81c2c48) {
    position: relative;
    z-index: 1;
}


/* Compass Star: entrance animation + hover tooltips on each axis point. */
.veriva-compass-star__svg .veriva-compass-star__ring,
.veriva-compass-star__svg .veriva-compass-star__axis {
    opacity: 0;
    transition: opacity 0.6s ease;
}

.veriva-compass-star__svg .veriva-compass-star__shape {
    opacity: 0;
    transform-origin: 200px 200px;
    transform: scale(0.6);
    transition: opacity 0.7s ease 0.15s, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.15s;
}

.veriva-compass-star__dot {
    cursor: pointer;
    opacity: 0;
    r: 5;
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0);
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), r 0.2s ease, filter 0.2s ease;
}

.veriva-compass-star__dot:hover,
.veriva-compass-star__dot:focus-visible {
    r: 7;
    filter: drop-shadow(0 0 6px rgba(3, 190, 195, 0.85));
    outline: none;
}

.veriva-compass-star.is-in-view .veriva-compass-star__ring,
.veriva-compass-star.is-in-view .veriva-compass-star__axis {
    opacity: 1;
}

.veriva-compass-star.is-in-view .veriva-compass-star__shape {
    opacity: 1;
    transform: scale(1);
}

.veriva-compass-star.is-in-view .veriva-compass-star__dot {
    opacity: 1;
    transform: scale(1);
}

.veriva-compass-star.is-in-view circle.veriva-compass-star__dot:nth-of-type(1) { transition-delay: 0.35s; }
.veriva-compass-star.is-in-view circle.veriva-compass-star__dot:nth-of-type(2) { transition-delay: 0.45s; }
.veriva-compass-star.is-in-view circle.veriva-compass-star__dot:nth-of-type(3) { transition-delay: 0.55s; }
.veriva-compass-star.is-in-view circle.veriva-compass-star__dot:nth-of-type(4) { transition-delay: 0.65s; }

.veriva-compass-star__tooltip {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-50%, calc(-100% - 14px));
    background: #0D1F2D;
    border: 1px solid #03BEC3;
    border-radius: 8px;
    padding: 8px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: 'Satoshi', sans-serif;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease, transform 0.15s ease;
    z-index: 10;
}

.veriva-compass-star__tooltip.is-visible {
    opacity: 1;
    transform: translate(-50%, calc(-100% - 8px));
}

.veriva-compass-star__tooltip strong {
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
}

.veriva-compass-star__tooltip span {
    color: #03BEC3;
    font-size: 12px;
    font-weight: 600;
}

.veriva-compass-star__tooltip::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #03BEC3;
}


/* ============================================================
   Hero gallery — mobile/tablet redesign: horizontal swipeable
   strip (Airbnb/Booking-style) instead of the stacked corner
   thumbnails, and no page-level horizontal scroll.
   ============================================================ */
#elementor-popup-modal-798 .dialog-message{
	border-radius: 12px;
}
#elementor-popup-modal-798 .dialog-widget-content{
	border-radius: 12px;
	background: transparent;
}
html, body {
    overflow-x: clip;
}

@media (min-width: 768px) {
    .veriva-hero-gallery__see-all-bg {
        display: none;
    }
}

@media (max-width: 767px) {
	.top-header-items > *:not(:first-child)::before{
		left: 0 !important;
	}
	body.is-scrolled .logo-container, 
	body.is-scrolled .logo-container-dark {
		margin-left: 16px;
	}
    .veriva-hero-gallery {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 16px !important;
        z-index: 2;
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-end !important;
        gap: 10px !important;
        padding: 0 16px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        max-width: 100vw;
    }

    .veriva-hero-gallery::-webkit-scrollbar {
        display: none;
    }

    .veriva-hero-gallery__thumbs,
    .veriva-hero-gallery__more,
    .veriva-hero-gallery__hidden {
        display: contents !important;
    }

    .veriva-hero-gallery__thumb,
    .veriva-hero-gallery__peek,
    .veriva-hero-gallery__hidden a {
        flex: 0 0 auto;
        width: min(78vw, 320px);
        height: 220px;
        border-radius: 16px;
        border: none;
        overflow: hidden;
        scroll-snap-align: center;
        box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
    }

    .veriva-hero-gallery__hidden a {
        display: block;
    }

    .veriva-hero-gallery__hidden a img,
    .veriva-hero-gallery__thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .veriva-hero-gallery__peek {
        background-size: cover !important;
    }

    .veriva-hero-gallery__see-all {
        order: -1;
        position: relative;
        flex: 0 0 auto;
        width: min(78vw, 320px);
        height: 220px;
        border-radius: 16px;
        overflow: hidden;
        scroll-snap-align: center;
        background: #0D1F2D;
        display: flex !important;
        align-items: flex-end;
        justify-content: flex-start;
        gap: 6px;
        padding: 16px !important;
        color: #FFFFFF;
        font-size: 14px;
    }

    .veriva-hero-gallery__see-all-bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 0;
    }

    .veriva-hero-gallery__see-all::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(13,31,45,0) 40%, rgba(13,31,45,0.75) 100%);
        z-index: 1;
    }

    .veriva-hero-gallery__see-all-icon,
    .veriva-hero-gallery__see-all span {
        position: relative;
        z-index: 2;
    }

    .veriva-hero-gallery__see-all:hover {
        background: #0D1F2D;
        color: #FFFFFF;
    }
}


/* Fix: the hero-gallery shortcode widget's own wrapper collapses to height:0
   (all its children are position:absolute), which made it the wrong
   containing block for .veriva-hero-gallery's absolute positioning.
   Make the wrapper span the full hero box so top/right/bottom offsets
   are calculated correctly on both desktop and mobile. */
.elementor-element-3fefbd5 {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none;
}

.elementor-element-3fefbd5 .veriva-hero-gallery {
    pointer-events: auto;
}


/* Fix: reset leftover desktop absolute-positioning offsets on the mobile
   see-all card (was inheriting top/left/bottom/transform from the older
   floating-CTA-pill design), and force the cover image to fully fill the
   card height (theme's default 'img { height:auto }' reset was winning
   over width/height:100%, leaving a gap at the bottom of the first card). */
@media (max-width: 767px) {
    .veriva-hero-gallery__see-all {
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
    }
    .veriva-hero-gallery__see-all-bg {
        height: 100% !important;
    }
}


/* Compass Star: HTML overlay labels replacing the SVG <text> axis labels.
   SVG text font-size is defined in viewBox user-units, so it shrinks along
   with the whole chart on narrow/mobile screens no matter what px value is
   set in CSS. These HTML divs are positioned over the SVG points (via the
   same screen-coordinate conversion used for the tooltip) so font-size
   behaves like a normal, legible CSS px value at any screen width. */
.veriva-compass-star__label-html {
    position: absolute;
    left: 0;
    top: 0;
    font-family: 'Satoshi', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    white-space: normal;
    line-height: 1.2;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.6s ease;
    z-index: 3;
}

/* On narrow screens, cap each label's width so long two-word labels
   ("Community Benefit", "Cultural Integrity"...) wrap onto 2 lines and
   stay put at their original anchor point instead of overlapping the
   diamond shape or spilling past the viewport edge. */
@media (max-width: 767px) {
    .veriva-compass-star__label-html--left,
    .veriva-compass-star__label-html--right {
        max-width: 92px;
    }
    .veriva-compass-star__label-html--center {
        max-width: 150px;
    }
}

.veriva-compass-star__label-html--center {
    transform: translate(-50%, -50%);
    text-align: center;
}

.veriva-compass-star__label-html--left {
    transform: translate(0, -50%);
    text-align: left;
}

.veriva-compass-star__label-html--right {
    transform: translate(-100%, -50%);
    text-align: right;
}

.veriva-compass-star.is-in-view .veriva-compass-star__label-html {
    opacity: 1;
}


/* Mobile hero: the 620px min-height (sized for the desktop layout) leaves
   a large empty gap between the title and the gallery strip on mobile,
   since the gallery is pinned to the bottom and the title sits near the
   top with nothing else filling the space between. Shrink it so the two
   sit closer together. */
@media (max-width: 767px) {
    .elementor-element-d3af8b0 {
        min-height: 460px !important;
    }
}


/* Veriva Compass — Apply form confirmation box (page 545) */
.elementor-element-258a8f9c .elementor-form-fields-wrapper {
  position: relative;
}
/* Box appearance (background/border/radius/padding) now controlled directly via Elementor UI on this field — removed here to avoid conflicting overrides. Only reserving right-side room for the button remains. */
.elementor-element-258a8f9c .elementor-field-group-consent {
  margin-top: 6px;
  box-sizing: border-box;
  padding-right: 220px !important;
}
@media (max-width: 900px) {
  .elementor-element-258a8f9c .elementor-field-group-consent {
    padding-right: inherit !important;
  }
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-label {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-subgroup {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label {
  color: rgba(255,255,255,0.75);
  font-size: 13px;
  line-height: 1.9;
}
.elementor-element-258a8f9c .elementor-field-group-consent input[type="checkbox"] {
  margin-top: 4px;
  accent-color: #03BEC3;
}
.elementor-element-258a8f9c .elementor-field-type-submit {
  position: absolute;
  right: 24px;
  bottom: 24px;
  margin: 0 !important;
  width: auto;
}
@media (max-width: 767px) {
  .elementor-element-258a8f9c .elementor-field-group-consent {
    padding: 20px !important;
    min-height: 0;
  }
  .elementor-element-258a8f9c .elementor-field-type-submit {
    position: static;
    width: 100%;
    margin-top: 16px !important;
  }
  .elementor-element-258a8f9c .elementor-field-type-submit button {
    width: 100%;
  }
}


/* Veriva Compass — Apply form header bar (page 545) */
.elementor-element-77b356a {
  justify-content: space-between !important;
  align-items: center !important;
}
.elementor-element-77b356a .elementor-widget-text-editor { flex-shrink: 0; }
.elementor-element-77b356a .elementor-widget-text-editor p { white-space: nowrap; }


/* Veriva Compass — Apply form refinements round 2 (page 545) */
/* 1) Confirmation box: hide the checkbox, keep as info list, center button vertically */
.elementor-element-258a8f9c .elementor-field-group-consent input[type="checkbox"] {
  display: none;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option {
  display: block;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label {
  padding-left: 14px;
  position: relative;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
}
.elementor-element-258a8f9c .elementor-field-type-submit {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .elementor-element-258a8f9c .elementor-field-type-submit {
    top: auto;
    transform: none;
  }
}
/* 2) "How did you hear about Veriva" — more discreet, inline label + select */
.elementor-element-258a8f9c .elementor-field-group.veriva-discreet-field {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.elementor-element-258a8f9c .elementor-field-group.veriva-discreet-field .elementor-field-label {
  margin-bottom: 0;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.55);
  white-space: nowrap;
}
.elementor-element-258a8f9c .elementor-field-group.veriva-discreet-field select {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.75);
  width: auto;
  min-width: 180px;
  padding: 6px 10px;
}


/* Veriva Compass — Apply form refinements round 3 (page 545) */
/* Force-hide checkbox (override earlier equal-specificity rule) */
.elementor-element-258a8f9c .elementor-field-group-consent input[type="checkbox"] {
  display: none !important;
}
/* Discreet 'How did you hear about Veriva' field: correct selector (group class, not select's own class) */
.elementor-element-258a8f9c .elementor-field-group-referral_source {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.elementor-element-258a8f9c .elementor-field-group-referral_source .elementor-field-label {
  margin-bottom: 0 !important;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.55);
  white-space: nowrap;
}
.elementor-element-258a8f9c .elementor-field-group-referral_source select.veriva-discreet-field {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.75);
  width: auto;
  min-width: 180px;
  padding: 6px 10px;
  box-shadow: none;
}
@media (max-width: 767px) {
  /* On mobile, drop the discreet inline treatment entirely — stack like every other field, full width */
  .elementor-element-258a8f9c .elementor-field-group-referral_source {
    display: block !important;
    gap: 0;
  }
  .elementor-element-258a8f9c .elementor-field-group-referral_source .elementor-field-label {
    display: block !important;
    white-space: normal !important;
    margin-bottom: 5px !important;
    color: rgba(255,255,255,0.75) !important;
  }
  .elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }
  .elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field select {
    width: 100% !important;
  }
}
/* Reset earlier (broken) submit centering — real centering handled by JS below */
.elementor-element-258a8f9c .elementor-field-type-submit {
  top: auto;
  bottom: auto;
  transform: none;
}
@media (min-width: 768px) {
  .elementor-element-258a8f9c .elementor-field-type-submit {
    position: absolute;
    right: 24px;
  }
}


/* Veriva Compass — Apply form refinements round 4 (page 545) */
/* Fix: the discreet class lands on the wrapper DIV, not the <select> itself */
.elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field {
  background: #0D1F2D !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  border-radius: 4px;
  width: auto !important;
  min-width: 180px;
  box-shadow: none !important;
}
.elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field select {
  background: #0D1F2D !important;
  color: rgba(255,255,255,0.75) !important;
  border: none !important;
  box-shadow: none !important;
}
/* Remove the single leading-dot decoration — bullets are now inline text ("• ") in the field content */
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label:before {
  content: none !important;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label {
  padding-left: 0 !important;
}


/* Veriva Compass — Apply form refinements round 5: force native select chrome off so bg override paints */
.elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #0D1F2D !important;
  background-image: none !important;
}


*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
#susbcribe-btn {
    border-radius: 8px;
    border: 2px solid #03BEC3;
    background: rgba(255, 255, 255, 0.05);
    padding: 12px 20px;
}
#susbcribe-btn-dark {
	background: rgba(13, 31, 45, 0.05);
}
#susbcribe-btn:hover, #susbcribe-btn-dark:hover {
    background: #03BEC3;
}
#susbcribe-btn-dark span {
    color: #0D1F2D !important;
}
/* body.is-scrolled .header-dark{
  padding-block-start: 0px !important;
  padding-block-end: 0px !important;
} */
#susbcribe-btn-light {
    border-radius: 8px;
    border: 1px solid #03BEC3;
    background: rgba(255, 255, 255, 0.05);
    padding: 12px 20px;
}
#susbcribe-btn-light:hover {
    background: #03BEC3;
}
#susbcribe-btn-light span {
    color: #fff !important;
}

.top-header-items > *:not(:first-child) {
  position: relative;
}
.top-header-items > *:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 16px;
  background: rgba(13, 31, 45, 0.05);
}
.top-header-items .e-n-menu-item {
  position: relative;
}
.top-header-items .e-n-menu-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -20px;
    top: 54%;
    transform: translateY(-50%);
    width: 1px;
    height: 16px;
    background: rgba(13, 31, 45, 0.05);
}
.top-header-items ul li:first-child{
    margin-left: 8px;
}
header.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 999;
}
.logo-light{
    display: none;
}
body.home .logo-light{
    display: block;
}
/* body.home .sticky-nav, 
body.home .logo-dark {
    display: none !important;
} */
body.home.is-scrolled .header-dark{
	background: #0D1F2D;
	z-index: 100;
	padding-bottom: 8px !important;
}
body:not(.home) .logo-dark {
  display: block !important;
}
body:not(.home) .bg-header {
  background: #F1EDEA !important;
}
.bg-header {
  transition: background-color 0.3s ease;
}
body.is-scrolled .bg-header {
    background-color: #F1EDEA;
    padding-top: 8px;
    padding-bottom: 0;
}
.logo-dark,
.logo-light {
  transition: transform 0.3s ease;
  transform-origin: left center;
}
/* body.is-scrolled .logo-container {
  transform: scale(0.75);
} */
.term-sep {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: 0 6px;
}
.term-sep svg {
  display: block;
}
.terms-sep .elementor-post-info__terms-list {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    margin: 0 auto;
}
.veriva-timeline {
  --veriva-teal: #03BEC3;
  --veriva-teal-dark: #0D1F2D;
  --veriva-bg: #E6F9F9;
  background: var(--veriva-bg);
  border-radius: 12px;
  padding: 48px 40px;
}
.veriva-timeline__track {
  position: relative;
}
.veriva-timeline__line {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 34px;
  height: 2px;
  background: var(--veriva-teal);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.2s cubic-bezier(0.65, 0, 0.35, 1);
}
.veriva-timeline__arrow {
  position: absolute;
  top: 10px;
  right: 20px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--veriva-teal);
  transform: scale(0);
  transform-origin: left center;
  transition: transform 0.3s ease 1.1s;
}
.veriva-timeline__steps {
  position: relative;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}
.veriva-timeline__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.veriva-timeline__dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--veriva-teal);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  opacity: 0;
  transform: scale(0.4);
  transition: transform 0.35s ease, box-shadow 0.2s ease, opacity 0.35s ease;
}
.veriva-timeline__step.is-complete .veriva-timeline__dot {
  background: var(--veriva-teal);
  border-color: var(--veriva-teal);
}
.veriva-timeline__check {
  width: 14px;
  height: 14px;
}
.veriva-timeline__label {
  font-size: 14px;
  color: var(--veriva-teal-dark);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.4s ease, transform 0.4s ease, font-weight 0.2s ease;
  text-align: center;
}
.veriva-timeline__step:nth-child(1) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(1) .veriva-timeline__label { transition-delay: 0.05s; }
.veriva-timeline__step:nth-child(2) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(2) .veriva-timeline__label { transition-delay: 0.35s; }
.veriva-timeline__step:nth-child(3) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(3) .veriva-timeline__label { transition-delay: 0.65s; }
.veriva-timeline__step:nth-child(4) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(4) .veriva-timeline__label { transition-delay: 0.95s; }
.veriva-timeline__step:nth-child(5) .veriva-timeline__dot,
.veriva-timeline__step:nth-child(5) .veriva-timeline__label { transition-delay: 1.25s; }
.veriva-timeline.is-inview .veriva-timeline__line {
  transform: scaleX(1);
}
.veriva-timeline.is-inview .veriva-timeline__arrow {
  transform: scale(1);
}
.veriva-timeline.is-inview .veriva-timeline__dot,
.veriva-timeline.is-inview .veriva-timeline__label {
  opacity: 1;
  transform: none;
}
.veriva-timeline__dot:hover,
.veriva-timeline__dot:focus-visible {
  box-shadow: 0 0 0 6px rgba(3, 190, 195, 0.15);
}
.veriva-timeline__dot:hover + .veriva-timeline__label,
.veriva-timeline__dot:focus-visible + .veriva-timeline__label {
  font-weight: 600;
}
@media (max-width: 600px) {
  .veriva-timeline {
    padding: 16px 8px;
  }
  .veriva-timeline__label {
    font-size: 10px;
  }
  .veriva-timeline__step{
    gap: 6px !important;
  }
}
.veriva-newsletter-popup {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.veriva-newsletter-popup {
  overflow: hidden;
}
.veriva-newsletter-popup::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13,31,45,0.40) 0%, rgba(13,31,45,0) 62.53%);
  pointer-events: none;
  z-index: 1;
}
.slider-destinations .veriva-carousel-progress {
    position: absolute;
    top: -60px;
    left: 0;
    right: 160px;
    height: 6px;
    background: #DCEEEC;
    border-radius: 999px;
    overflow: hidden;
    z-index: 2;
    max-width: 39%;
}
 
.slider-destinations .veriva-carousel-progress-fill {
    display: block;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #03BEC3, #7FE0DA);
    border-radius: 999px;
    transition: width 0.3s ease;
}
.center-slide-info, .center-slide-info span{
  display: none;
}
.slider-destinations .center-slide-visible .center-slide-info,
.slider-destinations .center-slide-visible .center-slide-info span {
  display: block !important;
}
.slider-destinations .center-slide-visible img{
  height: 520px !important;
}
.slider-destinations .center-slide-visible div{
  text-align: left !important;
}
.slider-destinations .center-slide-visible .main-title{
  display: none;
}
.slider-destinations .center-slide-visible .elementor-widget-theme-post-featured-image{
  margin-top: 34px;
}
@media (min-width: 1025px) {
	.veriva-dest-stat{
		padding: 24px 64px !important;
	}
    /* .slider-destinations .swiper {
        overflow: visible;
    } */
    .slider-destinations .swiper-slide {
        transition: transform 0.3s ease;
        transform: scale(0.91);
    }
    .slider-destinations .swiper-slide.center-slide-visible {
        transform: scale(1.09);
        position: relative;
        z-index: 2;
    }
}
.img-insider-voice {
  position: relative;
  display: inline-block; /* sau block, după caz */
}
.img-insider-voice img {
  display: block;
  width: 100%;
  height: 100%;
}
.img-insider-voice::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 190, 195, 0.00) 75.16%, var(--Teal-Teal-600, #05ADB1) 100%);
  pointer-events: none;
  border-radius: 8px;
}
.card-insider-voice:not(:has(.img-insider-voice)) {
    background: #E6F9F9 !important;
}
.card-insider-voice:not(:has(.img-insider-voice)) .author-box-info {
  order: 2;
}
.card-insider-voice:not(:has(.img-insider-voice)) .quote-text {
  order: 1;
}
.card-insider-voice:not(:has(.img-insider-voice)) .elementor-author-box__name {
  color: #0D1F2D !important;
}
.card-insider-voice:not(:has(.img-insider-voice)) .elementor-widget-author-box{
  margin-top: 0px !important;
  position: relative;
  top: -16px;
}
.search-term-highlight {
    color: #03BEC3;
}
@media (min-width: 1025px) {
    .veriva-grid-divider {
      grid-column: 1 / -1 !important;
      border-top: 1px solid #D9D9D9;
      margin: 32px 0 !important;
  }
}
.veriva-destination-list {
    column-count: 2;
    column-gap: 60px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.veriva-destination-list li {
    padding: 14px 0;
    border-bottom: 1px solid #F1EDEA;
    break-inside: avoid;
}

@media (max-width: 767px) {
    .veriva-destination-list {
        column-count: 1;
    }
}
.veriva-destination-list li a {
    color: #3D4C57;
    text-decoration: none;
    display: block;
}

.veriva-destination-list li a:hover {
    color: #03BEC3;
}
.veriva-dest-stats {
    display: flex;
    border: 1px solid #d5d5d5;
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
}
.veriva-dest-stat {
    flex: 1;
    text-align: center;
    padding: 16px 32px;
    border-right: 1px solid #d5d5d5;
}
.veriva-dest-stat:last-child {
    border-right: 0;
}
.veriva-dest-stat__label {
    display: block;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0d1f2d;
    margin-bottom: 6px;
    min-width: 100px;
}
.veriva-dest-stat__num {
    display: block;
    font-size: 28px;
    font-weight: 600;
    color: #03bec3;
}
.veriva-besttime {
    background: #E6F9F9;
    border-radius: 16px;
    padding: 48px 40px;
    position: relative;
}
.veriva-besttime__plane {
    position: absolute;
    top: 48px;
    right: 40px;
    width: 48px;
    height: auto;
}
.veriva-besttime__title {
    font-size: 24px !important;
    font-weight: 400;
    color: #1a2b2e;
    margin: 0 0 32px;
    padding-right: 60px;
}
.veriva-besttime__title span {
	padding-top: 4px;
    color: #05ADB1;
	font-size: 32px !important;
    display: block;
}
.veriva-besttime__title {
    border-bottom: 1px solid #D5D5D5;
    padding-bottom: 32px;
}
.veriva-besttime__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-top: 24px;
}
.veriva-besttime__month {
	font-family: 'Satoshi' !important;
    text-align: center;
    padding: 7px 0;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #E6F9F9;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #3a4a4d;
}
.veriva-besttime__month.is-on {
    background: #03BEC3;
    border-color: #03BEC3;
    color: #0D1F2D;
}
.veriva-besttime__note {
    margin-top: 24px;
	font-family: 'Satoshi';
    font-size: 12px;
    line-height: 120%;
    color: #8F989E;
	letter-spacing: -0.12px;
    max-width: 100%;
}

@media (max-width: 600px) {
    .veriva-besttime__plane {
        width: 34px;
        top: 28px;
        right: 24px;
    }
    .veriva-besttime__grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .veriva-besttime__note {
        max-width: 100%;
    }
}
.veriva-focus {
	display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    flex-direction: column;
    align-content: flex-start;
}
.veriva-focus__label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5a6b70;
}
.veriva-focus__chips {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}
.veriva-focus__chip {
    padding: 6px 14px;
    border: 1px solid #d4dde0;
    border-radius: 6px;
    font-size: 14px;
    color: #2a3a3d;
    background: #fff;
    line-height: 1.4;
}
.veriva-media {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.veriva-media__link {
    text-decoration: none;
    color: inherit;
}
.veriva-media__card {
	display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #F1EDEA;
    border-radius: 12px;
    padding: 32px;
    background: #fff;
    transition: box-shadow 0.15s;
}
.veriva-media__link:hover .veriva-media__card {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}
.veriva-media__outlet {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.4px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #12b5cb;
    margin-bottom: 12px;
}
.veriva-media__title {
    font-weight: 400;
    color: #000 !important;
    margin: 0 0 auto;
    line-height: 120%;
	border-bottom: 1px solid #F1EDEA;
    padding-bottom: 24px;
}
.veriva-media__logo {
    margin-top: 24px;
    max-height: 96px;
    width: auto;
    opacity: 0.2;
    object-fit: contain;
    align-self: flex-start;
}

@media (max-width: 768px) {
    .veriva-media {
        grid-template-columns: 1fr;
    }
}
.veriva-timeline--framed {
    border-radius: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.20);
    background: rgba(255, 255, 255, 0.05);
}

.veriva-timeline--framed .veriva-timeline__line {
    right: 14px;
}

.veriva-timeline--framed .veriva-timeline__arrow {
    display: none;
}

.veriva-timeline--framed .veriva-timeline__dot {
    background: transparent;
}

.veriva-timeline--framed .veriva-timeline__label {
    color: #FFFFFF;
}
.veriva-timeline--framed {
    border-radius: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.20);
    background: rgba(255, 255, 255, 0.05);
}

.veriva-timeline--framed .veriva-timeline__line {
    left: 10%;
    right: 10%;
}

.veriva-timeline--framed .veriva-timeline__arrow {
    display: none;
}

.veriva-timeline--framed .veriva-timeline__dot {
    background: #0D1F2D;
}

.veriva-timeline--framed .veriva-timeline__label {
    color: #FFFFFF;
}
.veriva-timeline--framed {
    padding: 24px !important;
}
.veriva-timeline__heading {
    margin: 0 0 24px;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    color: #FFFFFF !important;
}
.veriva-timeline__heading-accent {
    color: #03BEC3;
}

/* =========================================================
 * Veriva Compass — Single Property page
 * Hero photo gallery + "The Compass Star" radar chart
 * ========================================================= */

.veriva-property-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
    border-radius: inherit;
}

.veriva-hero-gallery {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.veriva-hero-gallery__thumbs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}

.veriva-hero-gallery__thumb {
    display: block;
    width: 96px;
    height: 64px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
}

.veriva-hero-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.veriva-hero-gallery__see-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FFFFFF;
    color: #0D1F2D;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
    white-space: nowrap;
}

.veriva-hero-gallery__see-all:hover {
    background: #E6F9F9;
    color: #0D1F2D;
}

.veriva-hero-gallery__hidden {
    display: none;
}

@media (max-width: 767px) {
    .veriva-hero-gallery {
        top: 12px;
        right: 12px;
    }
    .veriva-hero-gallery__thumb {
        width: 64px;
        height: 44px;
    }
}

/* Compass Star radar chart */

.veriva-compass-star {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    position: relative;
}

.veriva-compass-star__svg {
    width: 100%;
    max-width: 630px;
    height: auto;
}

.veriva-compass-star__ring {
    fill: none;
    stroke: #D9E6E6;
    stroke-width: 1;
}

.veriva-compass-star__axis {
    stroke: #D9E6E6;
    stroke-width: 1;
}

.veriva-compass-star__shape {
    fill: rgba(3, 190, 195, 0.25);
    stroke: #03BEC3;
    stroke-width: 2;
    stroke-linejoin: round;
}

.veriva-compass-star__dot {
    fill: #06BEC3;
}

.veriva-compass-star__label {
    font-size: 16px;
    font-weight: 600;
    fill: #fff;
}

.veriva-compass-star__legend {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid #3D4C57;
    border-radius: 8px;
    padding: 0;
    overflow: hidden;
}

.veriva-compass-star__legend-item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 16px;
}

.veriva-compass-star__legend-item:nth-child(n+3) {
    border-top: 1px solid #3D4C57;
}

.veriva-compass-star__legend-item:nth-child(odd) {
    border-right: 1px solid #3D4C57;
}

.veriva-compass-star__legend-name {
    font-size: 13px;
    color: #FFF;
}

.veriva-compass-star__legend-tier {
    font-size: 13px;
    font-weight: 600;
    color: #03BEC3;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .veriva-compass-star__legend {
        grid-template-columns: 1fr;
    }
}


/* Consolidated property hero (single shortcode) */
.veriva-property-hero {
    position: relative;
    min-height: 460px;
    border-radius: 16px;
    overflow: hidden;
}

.veriva-property-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.veriva-property-hero__content {
    position: absolute;
    left: 32px;
    bottom: 32px;
    right: 160px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.veriva-property-hero__location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.veriva-property-hero__title {
    color: #FFFFFF;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0;
}

.veriva-property-hero__gallery {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.veriva-property-hero__thumbs {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.veriva-property-hero__thumb {
    display: block;
    width: 96px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
}

.veriva-property-hero__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.veriva-property-hero__see-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FFFFFF;
    color: #0D1F2D;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
    white-space: nowrap;
}

.veriva-property-hero__see-all:hover {
    background: #E6F9F9;
}

.veriva-property-hero__hidden {
    display: none;
}

@media (max-width: 767px) {
    .veriva-property-hero {
        min-height: 360px;
    }
    .veriva-property-hero__title {
        font-size: 24px;
    }
    .veriva-property-hero__content {
        right: 24px;
    }
    .veriva-property-hero__gallery {
        top: 12px;
        right: 12px;
    }
    .veriva-property-hero__thumb {
        width: 60px;
        height: 42px;
    }
}


/* Single Property template — hero row + compass star section (element-scoped) */
.elementor-element-d3af8b0 {
    position: relative !important;
    overflow: hidden !important;
    min-height: 620px !important;
    border-radius: 16px !important;
    padding: 32px !important;
}

.elementor-element-327312b {
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 48px 24px !important;
}


/* Hero gallery — stacked thumbs + faded "peek" card with overlapping CTA */
.veriva-property-hero__thumb {
    width: 130px;
    height: 92px;
    border-radius: 16px;
    border-width: 4px;
    box-shadow: 0 8px 20px rgba(13, 31, 45, 0.3);
}

.veriva-property-hero__thumbs {
    gap: 10px;
}

.veriva-property-hero__more {
    position: relative;
    width: 130px;
    margin-top: 6px;
}

.veriva-property-hero__peek {
    display: block;
    position: relative;
    width: 100%;
    height: 34px;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
    border: 4px solid rgba(255, 255, 255, 0.95);
    border-bottom: none;
}

.veriva-property-hero__peek img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 92px;
    object-fit: cover;
    display: block;
}

.veriva-property-hero__peek::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(13, 31, 45, 0) 0%, rgba(13, 31, 45, 0.6) 100%);
}

.veriva-property-hero__more .veriva-property-hero__see-all {
    position: absolute;
    left: 50%;
    bottom: -16px;
    top: auto;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    .veriva-property-hero__thumb {
        width: 90px;
        height: 64px;
    }
    .veriva-property-hero__more {
        width: 90px;
    }
}


/* Hero gallery (veriva-hero-gallery) — bigger thumbs + faded "peek" card + overlapping CTA */
.veriva-hero-gallery__thumb {
    width: 130px;
    height: 92px;
    border-radius: 16px;
    border-width: 10px;
    box-shadow: 0 8px 20px rgba(13, 31, 45, 0.3);
}

.veriva-hero-gallery__thumbs {
    gap: 10px;
}

.veriva-hero-gallery__more {
    position: relative;
    width: 130px;
    margin-top: 6px;
}

.veriva-hero-gallery__peek {
    display: block;
    position: relative;
    width: 100%;
    height: 34px;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
    border: 10px solid rgba(255, 255, 255, 0.95);
    border-bottom: none;
}

.veriva-hero-gallery__peek {
    background-size: cover !important;
    min-height: 120px;
}

.veriva-hero-gallery__see-all {
    position: absolute;
    left: 50%;
    bottom: 30px;
    top: auto;
    transform: translateX(-50%);
    border-radius: 12px;
    z-index: 5;
}

@media (max-width: 767px) {
    .veriva-hero-gallery__thumb {
        width: 90px;
        height: 64px;
    }
    .veriva-hero-gallery__more {
        width: 90px;
    }
}


/* Property sidebar — Location card */
.veriva-location-card {
    background: #F1EDEA;
    border-radius: 12px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.veriva-location-card__label {
    color: #0D1F2D;
    font-family: 'Satoshi';
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; 
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.veriva-location-card__heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.veriva-location-card__heading {
    margin: 0;
    color: #0D1F2D !important;
    font-family: 'Marcellus';
    font-size: 24px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 28.8px */
    letter-spacing: -0.48px;
}

.veriva-location-card__flag {
    width: 32px;
    height: 24px;
    object-fit: cover;
    border-radius: 3px;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(13, 31, 45, 0.1);
}

.veriva-location-card__address {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    border-radius: 8px;
    border: 1px solid rgba(13, 31, 45, 0.10);
    background: #E7E9EA;
    padding: 8px 12px;
    font-size: 13px;
    color: #3D4C57;
    margin-bottom: 16px;
    line-height: 120%;
}

.veriva-location-card__pin {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.veriva-location-card__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0px;
    border-bottom: 1px solid #0D1F2D1A;
    padding-bottom: 12px;
    font-size: 13px;
}

.veriva-location-card__row-label {
    color: var(--Navy-Blue-Navy-Blue-300, #5C6972);
    text-transform: uppercase;
    font-feature-settings: 'liga' off, 'clig' off;
    /* Caption 3 */
    font-family: 'Satoshi';
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 12px */
    letter-spacing: -0.1px;
}

.veriva-location-card__row-value {
    color: var(--Navy-Blue-Navy-Blue-500, #0D1F2D);
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Satoshi';
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 14.4px */
    letter-spacing: -0.12px;
}


/* Sidebar column wrapper — stack "Discover more" box + Location card */
.elementor-element-7ab800a {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 213px !important;
    flex-shrink: 0 !important;
}

.elementor-element-9b914e3,
.elementor-element-602a7ef {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
}


/* What this place offers */
.veriva-offers {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.veriva-offers__item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-radius: var(--Corner-Radius---S, 12px);
    border: 2px solid var(--Grey-BG, #F1EDEA);
    padding: 24px;
}

.veriva-offers__header {
    display: flex;
    align-items: center;
    gap: 8px;
}

.veriva-offers__icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex-shrink: 0;
}

.veriva-offers__title {
  margin: 0 !important;
  color: #03BEC3 !important;
  font-feature-settings: 'liga' off, 'clig' off;
  /* Subtitle 2 */
  font-family: 'Satoshi' !important;
  font-size: 14px !important;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; /* 16.8px */
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.veriva-offers__desc {
    margin: 0;
    color: #3D4C57 !important;
    font-family: 'Satoshi' !important;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
    letter-spacing: -0.16px;
}

/* Quote */
.veriva-quote {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 0 0 24px;
    border-left: 3px solid #03BEC3;
}

.veriva-quote__text {
    border-left: 0 !important;
    color: #0D1F2D;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Marcellus' !important;
    font-size: 24px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 28.8px */
    letter-spacing: -0.48px;
    margin-bottom: 0;
    padding: 0 !important;
}

.veriva-quote__attribution {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
}

.veriva-quote__author {
    color: #05ADB1 !important;
    font-family: 'Satoshi' !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 19.2px */
    letter-spacing: -0.16px;
}

.veriva-quote__role {
    color: #05ADB1 !important;
    font-family: 'Satoshi' !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 19.2px */
    letter-spacing: -0.16px;
}

.veriva-quote__role::before {
    content: '· ';
}

/* Certificates & Awards */
.veriva-certificates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
}

.veriva-certificates__item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #FFF;
    border-radius: var(--Corner-Radius---S, 12px);
    border: 2px solid var(--Grey-BG, #F1EDEA);
    padding: 24px;
}

.veriva-certificates__header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.veriva-certificates__logo {
    width: 96px;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 50%;
}

.veriva-certificates__title {
    margin-bottom: 0 !important;
    color: #3D4C57 !important;
    font-family: 'Satoshi' !important;
    font-size: 14px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 120% !important; /* 16.8px */
    letter-spacing: 1.4px !important;
    text-transform: uppercase;
}

.veriva-certificates__desc {
    color: #3D4C57 !important;
    font-family: 'Satoshi' !important;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
    letter-spacing: -0.16px;
}

@media (max-width: 767px) {
    .veriva-certificates {
        grid-template-columns: 1fr;
    }
}


/* Hero gallery — resized thumbs (316x210 desktop, responsive), button icon + emerging position */
.veriva-hero-gallery__thumbs {
    --thumb-w: min(316px, 46vw);
    --thumb-h: calc(var(--thumb-w) * 210 / 316);
}

.veriva-hero-gallery__thumb {
    width: var(--thumb-w);
    height: var(--thumb-h);
}

.veriva-hero-gallery__more {
    width: var(--thumb-w);
}

.veriva-hero-gallery__peek {
    height: calc(var(--thumb-h) * 0.37);
}

.veriva-hero-gallery__see-all {
    gap: 4px;
    padding: 12px 32px;
}

.veriva-hero-gallery__see-all-icon {
    flex-shrink: 0;
}



@media (max-width: 767px) {
    .veriva-hero-gallery__thumbs {
        --thumb-w: min(140px, 38vw);
    }
    .veriva-hero-gallery__see-all {
        padding: 10px 20px;
    }
}


/* Hide section title/divider pairs when their content shortcode renders nothing. */
.veriva-hide-if-empty-compass:has(~ .elementor-element-d265373 .elementor-shortcode:empty) {
    display: none !important;
}

.veriva-hide-if-empty-offers:not(:has(~ .elementor-element-231e058 .elementor-shortcode:not(:empty))):not(:has(~ .elementor-element-7dac772 .elementor-shortcode:not(:empty))) {
    display: none !important;
}

.veriva-hide-if-empty-certificates:has(~ .elementor-element-94ad202 .elementor-shortcode:empty) {
    display: none !important;
}


/* Sticky sidebar (Discover more + Location card) while scrolling through the main content column. */
.elementor-element-7ab800a {
    position: sticky !important;
    top: 165px !important;
    align-self: flex-start !important;
}

@media (max-width: 768px) {
    .elementor-element-7ab800a {
        position: static !important;
        top: auto !important;
    }
}


/* Featured Image used as background layer for the hero-section flexbox (d8da688),
   bypassing Elementor V4's buggy dynamic background-image caching (elementor/elementor#36245). */
.elementor-element-d8da688 {
    position: relative !important;
    overflow: hidden !important;
}

.elementor-element-81c2c48 {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

.elementor-element-81c2c48 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.elementor-element-81c2c48::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #0D1F2D 0%, rgba(13, 31, 45, 0.40) 100%);
}

.elementor-element-d8da688 > *:not(.elementor-element-81c2c48) {
    position: relative;
    z-index: 1;
}


/* Compass Star: entrance animation + hover tooltips on each axis point. */
.veriva-compass-star__svg .veriva-compass-star__ring,
.veriva-compass-star__svg .veriva-compass-star__axis {
    opacity: 0;
    transition: opacity 0.6s ease;
}

.veriva-compass-star__svg .veriva-compass-star__shape {
    opacity: 0;
    transform-origin: 200px 200px;
    transform: scale(0.6);
    transition: opacity 0.7s ease 0.15s, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.15s;
}

.veriva-compass-star__dot {
    cursor: pointer;
    opacity: 0;
    r: 5;
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0);
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), r 0.2s ease, filter 0.2s ease;
}

.veriva-compass-star__dot:hover,
.veriva-compass-star__dot:focus-visible {
    r: 7;
    filter: drop-shadow(0 0 6px rgba(3, 190, 195, 0.85));
    outline: none;
}

.veriva-compass-star.is-in-view .veriva-compass-star__ring,
.veriva-compass-star.is-in-view .veriva-compass-star__axis {
    opacity: 1;
}

.veriva-compass-star.is-in-view .veriva-compass-star__shape {
    opacity: 1;
    transform: scale(1);
}

.veriva-compass-star.is-in-view .veriva-compass-star__dot {
    opacity: 1;
    transform: scale(1);
}

.veriva-compass-star.is-in-view circle.veriva-compass-star__dot:nth-of-type(1) { transition-delay: 0.35s; }
.veriva-compass-star.is-in-view circle.veriva-compass-star__dot:nth-of-type(2) { transition-delay: 0.45s; }
.veriva-compass-star.is-in-view circle.veriva-compass-star__dot:nth-of-type(3) { transition-delay: 0.55s; }
.veriva-compass-star.is-in-view circle.veriva-compass-star__dot:nth-of-type(4) { transition-delay: 0.65s; }

.veriva-compass-star__tooltip {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-50%, calc(-100% - 14px));
    background: #0D1F2D;
    border: 1px solid #03BEC3;
    border-radius: 8px;
    padding: 8px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: 'Satoshi', sans-serif;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease, transform 0.15s ease;
    z-index: 10;
}

.veriva-compass-star__tooltip.is-visible {
    opacity: 1;
    transform: translate(-50%, calc(-100% - 8px));
}

.veriva-compass-star__tooltip strong {
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
}

.veriva-compass-star__tooltip span {
    color: #03BEC3;
    font-size: 12px;
    font-weight: 600;
}

.veriva-compass-star__tooltip::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #03BEC3;
}


/* ============================================================
   Hero gallery — mobile/tablet redesign: horizontal swipeable
   strip (Airbnb/Booking-style) instead of the stacked corner
   thumbnails, and no page-level horizontal scroll.
   ============================================================ */

@media (min-width: 768px) {
    .veriva-hero-gallery__see-all-bg {
        display: none;
    }
}

@media (max-width: 767px) {
    .veriva-hero-gallery {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 16px !important;
        z-index: 2;
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-end !important;
        gap: 10px !important;
        padding: 0 16px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        max-width: 100vw;
    }

    .veriva-hero-gallery::-webkit-scrollbar {
        display: none;
    }

    .veriva-hero-gallery__thumbs,
    .veriva-hero-gallery__more,
    .veriva-hero-gallery__hidden {
        display: contents !important;
    }

    .veriva-hero-gallery__thumb,
    .veriva-hero-gallery__peek,
    .veriva-hero-gallery__hidden a {
        flex: 0 0 auto;
        width: min(78vw, 320px);
        height: 220px;
        border-radius: 16px;
        border: none;
        overflow: hidden;
        scroll-snap-align: center;
        box-shadow: 0 4px 14px rgba(13, 31, 45, 0.25);
    }

    .veriva-hero-gallery__hidden a {
        display: block;
    }

    .veriva-hero-gallery__hidden a img,
    .veriva-hero-gallery__thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .veriva-hero-gallery__peek {
        background-size: cover !important;
    }

    .veriva-hero-gallery__see-all {
        order: -1;
        position: relative;
        flex: 0 0 auto;
        width: min(78vw, 320px);
        height: 220px;
        border-radius: 16px;
        overflow: hidden;
        scroll-snap-align: center;
        background: #0D1F2D;
        display: flex !important;
        align-items: flex-end;
        justify-content: flex-start;
        gap: 6px;
        padding: 16px !important;
        color: #FFFFFF;
        font-size: 14px;
    }

    .veriva-hero-gallery__see-all-bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 0;
    }

    .veriva-hero-gallery__see-all::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(13,31,45,0) 40%, rgba(13,31,45,0.75) 100%);
        z-index: 1;
    }

    .veriva-hero-gallery__see-all-icon,
    .veriva-hero-gallery__see-all span {
        position: relative;
        z-index: 2;
    }

    .veriva-hero-gallery__see-all:hover {
        background: #0D1F2D;
        color: #FFFFFF;
    }
}


/* Fix: the hero-gallery shortcode widget's own wrapper collapses to height:0
   (all its children are position:absolute), which made it the wrong
   containing block for .veriva-hero-gallery's absolute positioning.
   Make the wrapper span the full hero box so top/right/bottom offsets
   are calculated correctly on both desktop and mobile. */
.elementor-element-3fefbd5 {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none;
}

.elementor-element-3fefbd5 .veriva-hero-gallery {
    pointer-events: auto;
}


/* Fix: reset leftover desktop absolute-positioning offsets on the mobile
   see-all card (was inheriting top/left/bottom/transform from the older
   floating-CTA-pill design), and force the cover image to fully fill the
   card height (theme's default 'img { height:auto }' reset was winning
   over width/height:100%, leaving a gap at the bottom of the first card). */
@media (max-width: 767px) {
    .veriva-hero-gallery__see-all {
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
    }
    .veriva-hero-gallery__see-all-bg {
        height: 100% !important;
    }
}


/* Compass Star: HTML overlay labels replacing the SVG <text> axis labels.
   SVG text font-size is defined in viewBox user-units, so it shrinks along
   with the whole chart on narrow/mobile screens no matter what px value is
   set in CSS. These HTML divs are positioned over the SVG points (via the
   same screen-coordinate conversion used for the tooltip) so font-size
   behaves like a normal, legible CSS px value at any screen width. */
.veriva-compass-star__label-html {
    position: absolute;
    left: 0;
    top: 0;
    font-family: 'Satoshi', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    white-space: normal;
    line-height: 1.2;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.6s ease;
    z-index: 3;
}

/* On narrow screens, cap each label's width so long two-word labels
   ("Community Benefit", "Cultural Integrity"...) wrap onto 2 lines and
   stay put at their original anchor point instead of overlapping the
   diamond shape or spilling past the viewport edge. */
@media (max-width: 767px) {
    .veriva-compass-star__label-html--left,
    .veriva-compass-star__label-html--right {
        max-width: 92px;
    }
    .veriva-compass-star__label-html--center {
        max-width: 150px;
    }
}

.veriva-compass-star__label-html--center {
    transform: translate(-50%, -50%);
    text-align: center;
}

.veriva-compass-star__label-html--left {
    transform: translate(0, -50%);
    text-align: left;
}

.veriva-compass-star__label-html--right {
    transform: translate(-100%, -50%);
    text-align: right;
}

.veriva-compass-star.is-in-view .veriva-compass-star__label-html {
    opacity: 1;
}


/* Mobile hero: the 620px min-height (sized for the desktop layout) leaves
   a large empty gap between the title and the gallery strip on mobile,
   since the gallery is pinned to the bottom and the title sits near the
   top with nothing else filling the space between. Shrink it so the two
   sit closer together. */
@media (max-width: 767px) {
    .elementor-element-d3af8b0 {
        min-height: 460px !important;
    }
}


/* Veriva Compass — Apply form confirmation box (page 545) */
.elementor-element-258a8f9c .elementor-form-fields-wrapper {
  position: relative;
}
/* Box appearance (background/border/radius/padding) now controlled directly via Elementor UI on this field — removed here to avoid conflicting overrides. Only reserving right-side room for the button remains. */
.elementor-element-258a8f9c .elementor-field-group-consent {
  margin-top: 6px;
  box-sizing: border-box;
  padding-right: 220px !important;
}
@media (max-width: 900px) {
  .elementor-element-258a8f9c .elementor-field-group-consent {
    padding-right: inherit !important;
  }
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-label {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-subgroup {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label {
  color: rgba(255,255,255,0.75);
  font-size: 13px;
  line-height: 1.9;
}
.elementor-element-258a8f9c .elementor-field-group-consent input[type="checkbox"] {
  margin-top: 4px;
  accent-color: #03BEC3;
}
.elementor-element-258a8f9c .elementor-field-type-submit {
  position: absolute;
  right: 24px;
  bottom: 24px;
  margin: 0 !important;
  width: auto;
}
@media (max-width: 767px) {
  .elementor-element-258a8f9c .elementor-field-group-consent {
    padding: 20px !important;
    min-height: 0;
  }
  .elementor-element-258a8f9c .elementor-field-type-submit {
    position: static;
    width: 100%;
    margin-top: 16px !important;
  }
  .elementor-element-258a8f9c .elementor-field-type-submit button {
    width: 100%;
  }
}


/* Veriva Compass — Apply form header bar (page 545) */
.elementor-element-77b356a {
  justify-content: space-between !important;
  align-items: center !important;
}
.elementor-element-77b356a .elementor-widget-text-editor { flex-shrink: 0; }
.elementor-element-77b356a .elementor-widget-text-editor p { white-space: nowrap; }


/* Veriva Compass — Apply form refinements round 2 (page 545) */
/* 1) Confirmation box: hide the checkbox, keep as info list, center button vertically */
.elementor-element-258a8f9c .elementor-field-group-consent input[type="checkbox"] {
  display: none;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option {
  display: block;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label {
  padding-left: 14px;
  position: relative;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
}
.elementor-element-258a8f9c .elementor-field-type-submit {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .elementor-element-258a8f9c .elementor-field-type-submit {
    top: auto;
    transform: none;
  }
}
/* 2) "How did you hear about Veriva" — more discreet, inline label + select */
.elementor-element-258a8f9c .elementor-field-group.veriva-discreet-field {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.elementor-element-258a8f9c .elementor-field-group.veriva-discreet-field .elementor-field-label {
  margin-bottom: 0;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.55);
  white-space: nowrap;
}
.elementor-element-258a8f9c .elementor-field-group.veriva-discreet-field select {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.75);
  width: auto;
  min-width: 180px;
  padding: 6px 10px;
}


/* Veriva Compass — Apply form refinements round 3 (page 545) */
/* Force-hide checkbox (override earlier equal-specificity rule) */
.elementor-element-258a8f9c .elementor-field-group-consent input[type="checkbox"] {
  display: none !important;
}
/* Discreet 'How did you hear about Veriva' field: correct selector (group class, not select's own class) */
.elementor-element-258a8f9c .elementor-field-group-referral_source {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.elementor-element-258a8f9c .elementor-field-group-referral_source .elementor-field-label {
  margin-bottom: 0 !important;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.55);
  white-space: nowrap;
}
.elementor-element-258a8f9c .elementor-field-group-referral_source select.veriva-discreet-field {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.75);
  width: auto;
  min-width: 180px;
  padding: 6px 10px;
  box-shadow: none;
}
@media (max-width: 767px) {
  /* On mobile, drop the discreet inline treatment entirely — stack like every other field, full width */
  .elementor-element-258a8f9c .elementor-field-group-referral_source {
    display: block !important;
    gap: 0;
  }
  .elementor-element-258a8f9c .elementor-field-group-referral_source .elementor-field-label {
    display: block !important;
    white-space: normal !important;
    margin-bottom: 5px !important;
    color: rgba(255,255,255,0.75) !important;
  }
  .elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }
  .elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field select {
    width: 100% !important;
  }
}
/* Reset earlier (broken) submit centering — real centering handled by JS below */
.elementor-element-258a8f9c .elementor-field-type-submit {
  top: auto;
  bottom: auto;
  transform: none;
}
@media (min-width: 768px) {
  .elementor-element-258a8f9c .elementor-field-type-submit {
    position: absolute;
    right: 24px;
  }
}


/* Veriva Compass — Apply form refinements round 4 (page 545) */
/* Fix: the discreet class lands on the wrapper DIV, not the <select> itself */
.elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field {
  background: #0D1F2D !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  border-radius: 4px;
  width: auto !important;
  min-width: 180px;
  box-shadow: none !important;
}
.elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field select {
  background: #0D1F2D !important;
  color: rgba(255,255,255,0.75) !important;
  border: none !important;
  box-shadow: none !important;
}
/* Remove the single leading-dot decoration — bullets are now inline text ("• ") in the field content */
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label:before {
  content: none !important;
}
.elementor-element-258a8f9c .elementor-field-group-consent .elementor-field-option label {
  padding-left: 0 !important;
}


/* Veriva Compass — Apply form refinements round 5: force native select chrome off so bg override paints */
.elementor-element-258a8f9c .elementor-field-group-referral_source .veriva-discreet-field select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #0D1F2D !important;
  background-image: none !important;
}


/* Veriva Compass — fix top-left corner render glitch (diagonal gradient bg not clipping to border-radius cleanly on some corners) */
.elementor-element-258a8f9c .elementor-field-group-consent {
  background-image: none !important;
  background-color: rgba(35, 56, 71, 0.55) !important;
  background-clip: padding-box !important;
  -webkit-background-clip: padding-box !important;
  overflow: hidden !important;
  transform: translateZ(0);
}


/* Veriva Compass — real fix for the square left corner: the confirmation box was overflowing 10px past the card's edge (Elementor's field-gutter negative margin on the fields wrapper), and the outer card's overflow:hidden was clipping the rounded left corner off. Compensate with matching margin. */
.elementor-element-258a8f9c .elementor-field-group-consent {
  margin-left: 10px !important;
  margin-right: 10px !important;
}


/* ====== Questionnaire (page 547) — sidebar timeline + multi-step layout ====== */
.elementor-547 .elementor-element-a288e63 {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 56px;
}
.elementor-547 .elementor-element-a288e63 .elementor-element-a0cf745 {
  flex: 1;
  min-width: 0;
}

.q-sidebar {
  width: 230px;
  flex-shrink: 0;
  position: sticky;
  top: 140px;
  align-self: flex-start;
}
.q-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.q-sidebar__list::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: rgba(13, 31, 42, 0.12);
}
.q-sidebar__fill {
  position: absolute;
  left: 11px;
  top: 12px;
  width: 2px;
  background: #03BEC3;
  height: 0%;
  transition: height 0.4s ease;
}
.q-sidebar__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 0;
}
.q-sidebar__dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid #E6F9F9;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  z-index: 1;
  transition: background 0.3s ease, border-color 0.3s ease;
}
.q-sidebar__dot::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #B2EBEC;
  transition: background 0.3s ease, opacity 0.2s ease;
}
.q-sidebar__dot svg {
  position: absolute;
  width: 12px;
  height: 12px;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.q-sidebar__label {
  font-family: 'Satoshi', sans-serif;
  font-size: 12px;
  letter-spacing: 0.04em;
  font-weight: 600;
  text-transform: uppercase;
  color: #A3A3A3;
  transition: color 0.3s ease;
}
.q-sidebar__item.is-active .q-sidebar__dot {
  border-color: #03BEC3;
}
.q-sidebar__item.is-active .q-sidebar__dot::after {
  background: #03BEC3;
}
.q-sidebar__item.is-active .q-sidebar__label {
  color: #0D1F2D;
  font-weight: 700;
}
.q-sidebar__item.is-complete .q-sidebar__dot {
  background: #03BEC3;
  border-color: #03BEC3;
}
.q-sidebar__item.is-complete .q-sidebar__dot::after {
  opacity: 0;
}
.q-sidebar__item.is-complete .q-sidebar__dot svg {
  opacity: 1;
}
.q-sidebar__item.is-complete .q-sidebar__label {
  color: #0D1F2D;
}
.q-sidebar__item.is-complete {
  cursor: pointer;
}
.q-sidebar__item.is-complete:hover .q-sidebar__label {
  color: #03BEC3;
}
.q-sidebar__item.is-active {
  cursor: default;
}
.q-sidebar__item:not(.is-complete):not(.is-active) {
  cursor: default;
}

@media (max-width: 900px) {
  .elementor-547 .elementor-element-a288e63 { flex-direction: column !important; gap: 20px; }
  .q-sidebar { position: static; width: 100%; top: auto; }
  .q-sidebar__list { display: flex; overflow-x: auto; gap: 4px; padding-bottom: 8px; }
  .q-sidebar__list::before, .q-sidebar__fill { display: none; }
  .q-sidebar__item { flex-direction: column; gap: 6px; padding: 6px 10px; flex-shrink: 0; }
  .q-sidebar__label { font-size: 9px; white-space: nowrap; }
}

.elementor-element-a0cf745 form {
  background: #F2F2F2;
  border-radius: 12px;
  overflow: hidden;
}
.elementor-element-a0cf745 .elementor-form-fields-wrapper {
  padding: 60px;
}

.q-step-intro {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 0;
}
.q-step-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  border-radius: 12px;
  background: #0D1F2D;
  padding: 16px 24px;
}
.q-eyebrow {
  color: #03BEC3;
  text-align: left;
  font-family: 'Satoshi', sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.14px;
  flex-shrink: 0;
  white-space: nowrap;
}
.q-title {
  color: #FFF;
  text-align: right;
  font-family: 'Marcellus', serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: -0.48px;
  flex-shrink: 1;
  min-width: 0;
}
.q-step-sub {
  color: #797979;
  font-family: 'Satoshi', sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.14px;
  margin: 0 !important;
}
.q-step-divider {
  height: 1px;
  background: #D5D5D5;
}
.elementor-element-a0cf745 .elementor-field-type-submit .elementor-button {
  background: #03BEC3 !important;
  color: #0D1F2D !important;
  border-radius: 6px !important;
  font-family: 'Satoshi', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border: none !important;
}

@media (max-width: 600px) {
  .q-step-head { padding: 14px 18px; border-radius: 10px; flex-wrap: wrap; }
  .q-eyebrow { flex: 0 0 100%; }
  .q-title { font-size: 18px; text-align: left; flex: 1 1 auto; }
  .elementor-element-a0cf745 .elementor-form-fields-wrapper { padding: 0 20px 24px; }
}

.elementor-element-a0cf745 .e-form__indicators--type-progress_bar {
  display: none !important;
}


/* Question / letter badges within Questionnaire form steps */
.q-question-block {
  margin-bottom: 8px;
}
.q-qbadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 24px;
  padding: 0 8px;
  border-radius: 8px;
  background: #03BEC3;
  color: #0D1F2D;
  font-family: 'Satoshi', sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.14px;
  margin-bottom: 8px;
}
.q-question-title {
  display: block;
}
.q-letter-line {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.q-letter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 100px;
  background: #03BEC3;
  color: #FFF;
  font-family: 'Satoshi', sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 109%;
  letter-spacing: -0.1px;
  flex-shrink: 0;
}


/* Outer card wrapper around each full Q section within the questionnaire */
.q-card {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  width: 100%;
  box-sizing: border-box;
  padding: 20px 16px 16px 16px;
  border-radius: 12px;
  border: 1px solid #D5D5D5;
  background: #E7E9EA;
  margin: 0 0 24px;
}
.q-card:last-child {
  margin-bottom: 0;
}


/* Questionnaire (547) — per-question description, callout box, data layer box */
.q-q-desc {
  color: #797979;
  font-family: 'Satoshi', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 145%;
  margin: 8px 0 16px !important;
}

.q-callout {
  background: #FFFFFF;
  border-left: 3px solid #03BEC3;
  border-radius: 6px;
  padding: 10px 16px 4px;
  margin: 0 0 16px;
}
.q-callout__head {
  color: #797979;
  font-family: 'Satoshi', sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
  margin: 0 0 4px !important;
}
.q-callout__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid #EDEDED;
}
.q-callout__item .q-letter-badge { margin-top: 2px; }
.q-callout__text {
  flex: 1;
  color: #0D1F2D;
  font-family: 'Satoshi', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 145%;
}
.q-callout__text b { font-weight: 600; }
.q-callout__hint {
  flex-shrink: 0;
  color: #A3A3A3;
  font-family: 'Satoshi', sans-serif;
  font-size: 12px;
  font-style: italic;
  white-space: nowrap;
  padding-top: 1px;
}

.q-label-sub {
  color: #A3A3A3;
  font-weight: 400;
  font-size: 13px;
}

.q-aim {
  color: #A3A3A3;
  font-family: 'Satoshi', sans-serif;
  font-size: 12px;
  font-style: italic;
  margin: 6px 0 0 !important;
}

.q-datalayer {
  background: #FFFFFF;
  border-left: 3px solid #03BEC3;
  border-radius: 6px;
  padding: 12px 16px 16px;
  margin: 16px 0 0;
}
.q-datalayer__label {
  color: #797979;
  font-family: 'Satoshi', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 120%;
  margin: 0 0 10px !important;
}
.q-datalayer__row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.q-datalayer__row > * {
  flex: 1 1 150px;
  min-width: 140px;
  margin: 0 !important;
}
@media (max-width: 600px) {
  .q-callout__item { flex-wrap: wrap; }
  .q-callout__hint { padding-left: 28px; }
  .q-datalayer__row { flex-direction: column; gap: 12px; }
}


/* Questionnaire (547) — chip-style multi-select / single-select toggles for checkbox & radio groups */
.elementor-element-a0cf745 .elementor-field-type-checkbox .elementor-field-subgroup,
.elementor-element-a0cf745 .elementor-field-type-radio .elementor-field-subgroup {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
.elementor-element-a0cf745 .elementor-field-type-checkbox .elementor-field-option,
.elementor-element-a0cf745 .elementor-field-type-radio .elementor-field-option {
  display: inline-flex;
  align-items: center;
}
.elementor-element-a0cf745 .elementor-field-type-checkbox .elementor-field-option input,
.elementor-element-a0cf745 .elementor-field-type-radio .elementor-field-option input {
  opacity: 0;
  width: 1px;
  height: 1px;
  position: absolute;
  margin: 0;
}
.elementor-element-a0cf745 .elementor-field-type-checkbox .elementor-field-option label,
.elementor-element-a0cf745 .elementor-field-type-radio .elementor-field-option label {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid #D5D5D5;
  border-radius: 8px;
  background: #fff;
  font-family: 'Satoshi', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #0D1F2D;
  cursor: pointer;
  margin: 0 !important;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.elementor-element-a0cf745 .elementor-field-type-checkbox .elementor-field-option input:checked + label,
.elementor-element-a0cf745 .elementor-field-type-radio .elementor-field-option input:checked + label {
  border-color: #03BEC3;
  background: #E7F9F9;
  color: #03BEC3;
}

/* Data layer row: radio groups (self-assessed level) always take a full line */
.q-datalayer__row > .elementor-field-type-radio { flex-basis: 100%; }
.q-datalayer__row > .elementor-field-type-checkbox { flex-basis: 100%; }


/* ===== Q-card design unification fixes (round 2) ===== */

/* 1. Force all direct children of q-card to always span full card width */
.elementor-element-a0cf745 .q-card > * {
  flex: 1 1 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 2. Force checkbox/radio chip options to size to content (inline pills), not stretch full width */
.elementor-element-a0cf745 .elementor-field-type-checkbox .elementor-field-option,
.elementor-element-a0cf745 .elementor-field-type-radio .elementor-field-option {
  flex: 0 0 auto !important;
  width: auto !important;
}

/* 3. Visual separator between the question/callout block and the response + data-layer section */
.elementor-element-a0cf745 .q-card > .elementor-field-type-html + .elementor-field-group .elementor-field-label {
  border-top: 1px solid #D5D5D5;
  padding-top: 18px;
  margin-top: 0 !important;
}

/* 4. Back / Next buttons on a single row, Back far left, Next far right */
.elementor-element-a0cf745 .e-form__buttons {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  flex-basis: 100% !important;
  gap: 12px !important;
}
.elementor-element-a0cf745 .e-form__buttons .elementor-field-type-previous,
.elementor-element-a0cf745 .e-form__buttons .elementor-field-type-next,
.elementor-element-a0cf745 .e-form__buttons .elementor-field-type-submit {
  width: auto !important;
  flex: 0 0 auto !important;
}


/* ===== Veriva Compass — Questionnaire property gate (login / no-property / picker states) ===== */
.q-gate-box {
  max-width: 640px;
  margin: 40px auto;
  padding: 32px 28px;
  background: #fff;
  border: 1px solid #D5D5D5;
  border-left: 3px solid #03BEC3;
  border-radius: 12px;
  font-family: 'Satoshi', sans-serif;
}
.q-gate-title {
  font-size: 18px;
  font-weight: 600;
  color: #0D1F2D;
  margin: 0 0 8px;
}
.q-gate-text {
  font-size: 14px;
  color: #797979;
  line-height: 1.6;
  margin: 0 0 20px;
}
.q-gate-btn {
  display: inline-block;
  padding: 12px 24px;
  background: #0D1F2D;
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}
.q-gate-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.q-gate-item {
  display: block;
  padding: 14px 18px;
  border: 1px solid #D5D5D5;
  border-radius: 8px;
  color: #0D1F2D;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: border-color .2s ease, background .2s ease;
}
.q-gate-item:hover {
  border-color: #03BEC3;
  background: #E7F9F9;
}
.veriva-small-subtext {
    color: #797979;
    text-align: center;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Satoshi';
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.14px;
    max-width: 140px;
}
.dialog-close-button svg { display: none; }
.dialog-close-button {
    position: relative;
}
.dialog-close-button::before,
.dialog-close-button::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 2px;
    background: #fff;
}
.dialog-close-button::before {
    animation: veriva-burger-top .45s ease forwards;
}
.dialog-close-button::after {
    animation: veriva-burger-bottom .45s ease forwards;
}
@keyframes veriva-burger-top {
    0%   { transform: translate(-50%, -8px) rotate(0); }
    50%  { transform: translate(-50%, -50%) rotate(0); }
    100% { transform: translate(-50%, -50%) rotate(45deg); }
}
@keyframes veriva-burger-bottom {
    0%   { transform: translate(-50%, 6px) rotate(0); }
    50%  { transform: translate(-50%, -50%) rotate(0); }
    100% { transform: translate(-50%, -50%) rotate(-45deg); }
}