/* =======================================================================
   Theme Meta Information 
========================================================================== */
/* 
Theme Name: Stack
Theme URI: --
Description: --
Author: --
Author URI: --
Template: hello-elementor
Version: 2.0.0
Text Domain: stack-child
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* =======================================================================
   Base Font Size & Responsive Typography
========================================================================== */
html {
  font-size: 14px; /* Base font size for small screens */
}

@media (min-width: 992px) {
  html {
      font-size: 16px; /* Increased font size for larger screens */
  }
}

body {
font-family: "montserrat", sans-serif;
font-weight: 400;
font-style: normal;
color: var(--e-global-color-text); /* text-color */
line-height: 1.8;

}

@media (max-width: 991px) {
  body {
    overflow-x: hidden;
  }
}

/*.elementor-widget-wrap {
  max-width: 100% !important;
  overflow-x: hidden;
}
*/
.elementor-kit-8 a {
  text-decoration: underline;
}


li {
  margin-bottom: 1rem;
  line-height: 1.6em;
}


/* =======================================================================
   Fonts
========================================================================== */
/* Block Headings Font Sizes */
.wp-block-heading.is-style-h1 {
  font-style: normal;
  font-size: var(--e-global-typography-c297f56-font-size);
  line-height: var(--e-global-typography-c297f56-line-height);
  letter-spacing: var(--e-global-typography-c297f56-letter-spacing);
  text-transform: var(--e-global-typography-c297f56-text-transform);
  color: var(--e-global-color-text); /* text-color */
}
.wp-block-heading.is-style-h2 {
  font-style: normal;
  font-size: var(--e-global-typography-21c5652-font-size);
  line-height: var(--e-global-typography-21c5652-line-height);
  letter-spacing: var(--e-global-typography-21c5652-letter-spacing);
  text-transform: var(--e-global-typography-21c5652-text-transform);
  color: var(--e-global-color-text); /* text-color */
}
.wp-block-heading.is-style-h3 {
  font-style: normal;
  font-size: var(--e-global-typography-9ddb4af-font-size);
  line-height: var(--e-global-typography-9ddb4af-line-height);
  letter-spacing: var(--e-global-typography-9ddb4af-letter-spacing);
  text-transform: var(--e-global-typography-9ddb4af-text-transform);
  color: var(--e-global-color-text); /* text-color */
}
.wp-block-heading.is-style-h4 {
  font-style: normal;
  font-size: var(--e-global-typography-2fe9092-font-size);
  line-height: var(--e-global-typography-2fe9092-line-height);
  letter-spacing: var(--e-global-typography-2fe9092-letter-spacing);
  text-transform: var(--e-global-typography-2fe9092-text-transform);
  color: var(--e-global-color-text); /* text-color */
}
.wp-block-heading.is-style-h5 {
  font-style: normal;
  font-size: var(--e-global-typography-a73f9a2-font-size);
  line-height: var(--e-global-typography-a73f9a2-line-height);
  letter-spacing: var(--e-global-typography-a73f9a2-letter-spacing);
  text-transform: var(--e-global-typography-a73f9a2-text-transform);
  color: var(--e-global-color-text); /* text-color */
}

.wp-block-heading.is-style-s1 {
  font-size: var(--e-global-typography-8a2d28a-font-size);
  line-height: var(--e-global-typography-8a2d28a-line-height);
  letter-spacing: var(--e-global-typography-8a2d28a-letter-spacing);
  font-weight: var(--e-global-typography-8a2d28a-font-weight);
  text-transform: var(--e-global-typography-8a2d28a-text-transform);
  font-family: var(--e-global-typography-8a2d28a-font-family), Sans-serif;
}

.elementor-kit-8 p.is-style-c1 {
  font-weight: var(--e-global-typography-6d86073-font-weight);
  font-size: var(--e-global-typography-6d86073-font-size);
  line-height: var(--e-global-typography-6d86073-line-height);
  letter-spacing: var(--e-global-typography-6d86073-letter-spacing);
  font-style: var(--e-global-typography-6d86073-font-style);
}

.elementor-kit-8 p.is-style-c2 {
  font-weight: var(--e-global-typography-709af51-font-weight);
  font-size: var(--e-global-typography-709af51-font-size);
  line-height: var(--e-global-typography-709af51-line-height);
  letter-spacing: var(--e-global-typography-709af51-letter-spacing);
  font-style: var(--e-global-typography-709af51-font-style);
    font-family: var(--e-global-typography-709af51-font-family), Sans-serif;
}

.elementor-kit-8 p.is-style-lead {
  font-weight: var(--e-global-typography-6d86073-font-weight);
  font-size: var(--e-global-typography-6d86073-font-size);
  line-height: var(--e-global-typography-6d86073-line-height);
  letter-spacing: var(--e-global-typography-6d86073-letter-spacing);
}



/*** Let's move these into Global Styles and add aboce ***/
.elementor-kit-8 h1,
.elementor-kit-8 h2,
.elementor-kit-8 h3,
.elementor-kit-8 h4,
.elementor-kit-8 h5,
.elementor-kit-8 h6  {
  margin-bottom: 1rem;
  font-style: normal;
  color: var(--e-global-color-text);
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-weight:400 !important;
}

#blog-hero h2 {
  margin-bottom: 0;
}


p + h2, 
p + h3, 
p + h4, 
p + h5,
ul + h2, 
ul + h3, 
ul + h4, 
ul + h5  {
  margin-top: 2rem;
}



/* =======================================================================
 Dark & Light Theme Blocks
========================================================================== */
.light {
  background-color: var(--e-global-color-809f0c8);/*  light yellow */
}
.teal {
  background-color: var(--e-global-color-79e0b7c)!important;/* teal */
}

.dark {
  color: var(--e-global-color-primary); /* yellowyellow */
  background-color: var(--e-global-color-secondary)!important;/* secondary */
}
.dark .elementor-kit-8 h1,
.dark .elementor-kit-8 h2,
.dark .elementor-kit-8 h3,
.dark .elementor-kit-8 h4,
.dark .elementor-kit-8 h5,
.dark .elementor-kit-8 h6  {
 color: var(--e-global-color-primary); /* yellowyellow */

}
.dark h1, h2, h3, h4, h5, h6, a, button  {
  color: var(--e-global-color-primary); /* yellow */
}
.dark a {
  color: var(--e-global-color-primary);
}
.dark a:hover {
  text-decoration: underline;
}
/* =======================================================================
 Header & Headroom
========================================================================== */
#header {
  background-color: rgba(0, 61, 76, 0.5); /* Initial 50% opacity */
  transition: background-color 0.3s ease;
}
/* Sticky header behavior */
#header.headroom--pinned.headroom--top {
  background-color: rgba(0, 61, 76, 0.5); /* 50% opacity */
}

/* Sticky header behavior */
#header.headroom--pinned.headroom--not-top {
  background-color: rgba(0, 61, 76, 1); /* 100% opacity */
}

/* Sticky header behavior */
#header.headroom--pinned {
  transform: translateY(0%); /* Sticky header is visible */
}
#header.headroom--unpinned {
  transform: translateY(-100%); /* Hide header when scrolled */
  background-color: #003D4C; /* Full opacity */
  transition: background-color 0.3s ease;
}

#header.headroom--not-top .e-n-menu-content .dropdown-container {
  background-color: rgba(0, 61, 76, 1) !important;
}

@media (max-width: 992px) {
  #header.menu-active,
  #header.menu-active.headroom--top,
  #header.menu-active.headroom--pinned {
    background-color: rgba(0, 61, 76, 1) !important;
  }

  #header.menu-active .dropdown-container,
  #header.menu-active .elementor-widget-n-menu .e-n-menu-title,
  #header.menu-active .elementor-widget-n-menu .e-n-menu-heading {
    background-color: rgba(0, 61, 76, 1) !important;
  }
}



/* =======================================================================
 Main Nav
========================================================================== */
/* Mobile and Table Menu Content */
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-content {
  overflow: hidden;
  max-width: 345px;
  /*background-color: rgba(0, 61, 76, 0.5); /* 100% opacity */
}
.dropdown-container {
    background-color: rgba(0, 61, 76, .5) !important; /* 100% opacity */
}

/* Mobile and Table Menu Title */
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
  justify-content: space-between;
  max-width: 370px;
}
/* Mobile and Table Menu Item */
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item {
  display: flex;
  flex-direction: column;
  width: 345px;
}
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:last-child {
  /* your styles here */
  width: auto;
}

/* Inner Menu List */
.menu-list {
  padding: 0rem 1rem 0rem 0rem;
}

/* Hide the icon by default */
.elementor-widget .elementor-icon-list-icon {
  display: none;
  width: 40px!important; /* Fixed width to reserve space */
  margin-right: 0.5em;
}

/* Reserve space on the left so text doesn't shift when icon appears */
.elementor-widget .elementor-icon-list-item {
  padding-left: 1.5rem;
  position: relative;
  transition: all .3s;
  text-decoration: none;
}
.elementor-widget .elementor-icon-list-item a {
  text-decoration: none;
}
/* Show the icon and apply color when hovering over the list item */
.elementor-widget .elementor-icon-list-item:hover .elementor-icon-list-icon {
  display: inline-block;
  width: 40px!important;
  color: var(--e-global-color-primary) !important;
  fill: var(--e-global-color-primary) !important; /* For SVG icons */
  position: absolute;
  left: 0;
  top: 70%;
  transform: translateY(-60%); /* Vertically center the icon */
}

@media (max-width:992px) {
  /* Hide the icon by default */
  .elementor-widget .elementor-icon-list-icon {
    width: 35px!important; /* Fixed width to reserve space */
    margin-right: 1rem;
  }
  /* Show the icon and apply color when hovering over the list item */
  .elementor-widget .elementor-icon-list-item:hover .elementor-icon-list-icon {
    width: 35px!important;
  }
}

/* Remove left padding only for icon list items inside the footer */
.elementor-location-footer .elementor-icon-list-item {
  padding-left: 0 !important;
  transition: all .3s;
}
/* List item hover */
.elementor-widget .elementor-icon-list-item a:hover {
  font-weight: 600;
}

/* List item hover footer */
#footer .elementor-icon-list-item span:hover {
  font-weight: 600;
}

/* Inner Menu Heading */
.elementor-widget-n-menu .e-n-menu-heading {
  background-color: transparent;
  padding: 1rem;
  margin-left: auto;
  margin-right: 0;
  text-align: left;
}

/* Inner Menu List Item a link */
.elementor-widget .elementor-icon-list-item, .elementor-widget .elementor-icon-list-item a {
  gap: 0.5rem; /* Space between text and icon */
} 

/* Menu Toggle */
.elementor-kit-8 button:hover,
.e-n-menu-toggle:hover {
  background-color: transparent;
  border:none;
}

/* Mobile */
@media (max-width: 576px) {
.dropdown-container {
      background-color: transparent !important; /* 0% opacity */
  }
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
    background-color: transparent !important;
  }
  .elementor-widget-n-menu .e-n-menu-heading {
    width: 100%;
    max-width: 385px;
    margin-left: auto;
    margin-right: 0;
    box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.2); /* bottom-only shadow */
    background-color: rgba(0, 61, 76, .5); /* 100% opacity */
    padding: 2rem 1rem;
    margin-top: 0.28rem;
    display: flex;
    flex-direction: column;
  }
  /* Inner Menu List */
  .menu-list {
    padding: 0rem 1rem 2rem 0rem;
  }
  #e-n-menu-title-6045 {
    display: block;
  }
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:last-child {
    width: fit-content;
  }
}

/* Tablet */
@media (min-width: 577px) and (max-width: 992px) {
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-toggle[aria-expanded=true]+.e-n-menu-wrapper {
    --n-menu-wrapper-display: flex;
    margin-top: 1.75rem;
}
  .dropdown-container {
      background-color: transparent !important; /* 0% opacity */
  }
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
    background-color: transparent !important;
  }
  .elementor-widget-n-menu .e-n-menu-heading {
    width: 100%;
    max-width: 385px;
    margin-left: auto;
    margin-right: 0;
    box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.2); /* bottom-only shadow */
    background-color: rgba(0, 61, 76, .5); /* 100% opacity */
    padding: 2rem 1rem;
    margin-top: 0.33rem;
    display: flex;
    flex-direction: column;
  }
  /* Inner Menu List */
  .menu-list {
    padding: 0rem 1rem 2rem 0rem;
  }
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:last-child {
    display: none!important;
  }
}

/* Desktop */
@media (min-width: 993px) {
  .elementor-widget-n-menu .e-n-menu-heading {
    padding: 0;
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    height: auto;
  }
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:last-child,
  #e-n-menu-title-6045  {
    display: none!important;
  }
}

/* Mobile Menu List Items Paddings */
@media (max-width: 993px) {
  li.elementor-icon-list-item {
    padding-bottom: calc(0.6rem / 1);
  }
}
/* Desktop */
@media (min-width: 1024px) {
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:last-child
  #e-n-menu-title-6045  {
    display: none!important;
  }
}

/* link text decoration*/
a.e-n-menu-title-container.e-focus.e-link {
    text-decoration: none;
}

.homesite-content {
  display: block!important;
}

/* =======================================================================
 Page Heros
========================================================================== */
/* Home + Large Page Hero + Splash  + Featured Icons Aerial */
#home-hero,
#large-hero,
#splash,
#featured-icons-aerial {
  width: 100% !important;
  height: 100vh;
  min-height: 700px;
  max-height: 1080px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

/* Responsive heights */
@media (max-width: 1200px) {
  #home-hero,
  #large-hero,
  #splash,
  #featured-icons-aerial  {
    height: 90vh;
    min-height: 700px;
  }
}
@media (max-width: 992px) {
  #home-hero,
  #large-hero,
  #splash,
  #featured-icons-aerial {
    height: 80vh;
    min-height: 600px;
  }
}
@media (max-width: 768px) {
  #home-hero,
  #large-hero,
  #splash,
  #featured-icons-aerial {
    height: 65vh;
    min-height: 500px;
    background-position: center top;
  }
}
@media (max-width: 576px) {
  #home-hero,
  #large-hero,
  #splash {
    height: 55vh;
    min-height: 400px;
    background-position: center top;
    background-size: cover;
  }
  #featured-icons-aerial {
    height: auto;
  }
}

/* Default Page Hero  + Homesites Hero */
#page-hero {
  width: 100%;
  height: 70vh;
  min-height: 500px;
  max-height: 500px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

#home-hero h2,
#large-hero h2,
#page-hero h2,
#homesite-hero h2,
.page-hero h2  {
  text-wrap: balance!important;
}

#homesite-hero {
  width: 100%;
  height: 60vh;
  min-height: 500px;
  max-height: 500px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

#page-hero.homesites-hero {
  width: 100%;
  height: 50vh;
  min-height: 200px;
  max-height: 300px;
}

/* Large screens */
@media (max-width: 1440px) {
  #homesite-hero {
    height: 50vh;
    min-height: 400px;
  }
}
/* Large screens */
@media (max-width: 1200px) {
  #page-hero {
    height: 60vh;
    min-height: 400px;
  }
  #homesite-hero {
    height: 45vh;
    min-height: 350px;
  }
}
/* Medium screens */
@media (max-width: 992px) {
  #page-hero {
    height: 55vh;
    min-height: 400px;
  }
  #homesite-hero {
    height: 40vh;
    min-height: 350px;
  }
}
/* Tablets */
@media (max-width: 768px) {
  #page-hero  {
    height: 50vh;
    min-height: 300px;
    background-position: center center;
  }
  #homesite-hero {
    height: 35vh;
    min-height: 300px;
  }
#page-hero.homesites-hero {
    height: 30vh;
    min-height: 150px;
    max-height: 200px;
  }
}
/* Mobile */
@media (max-width: 576px) {
  #page-hero {
    height: 45vh;
    min-height: 300px;
    background-position: center center;
    background-size: cover;
  }
  #homesite-hero {
    height: 40vh;
    min-height: 300px;
  }

}

/* Minimal Page Hero */
#page-minimal-hero-img {
  width: 100%;
  background-repeat: no-repeat;
  object-fit: cover;
  background-position: center center;
  background-size: cover;
}
/* Desktop (1025px and above) */
@media (min-width: 1025px) {
  #page-minimal-hero-img {
    max-height: 300px;
    min-height: 300px;
  }
  #blog-hero {
    max-height: 550px;
    min-height: 450px;
  }
  /* Blog Hero Img */
  #blog-hero .elementor-widget-theme-post-featured-image img {
    max-height: 400px;
    min-height: 350px;
    height: auto;
    object-fit: cover;
  }
}
/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
  #page-minimal-hero-img {
    max-height: 300px;
    min-height: 300px;
  }
  /* Blog Hero Img */
  #blog-hero.elementor-widget-theme-post-featured-image img {
    max-height: 350px;
    min-height: 300px;
    height: auto;
    object-fit: cover;
  }
}
/* Mobile (below 768px) */
@media (max-width: 768px) {
  #page-minimal-hero-img {
    max-height: 200px;
    min-height: 200px;
  }
}
/* Small mobile (below 480px) */
@media (max-width: 480px) {
  #page-minimal-hero-img {
    max-height: 140px;
    min-height: 140px;
  }
}

/*** Hero Preload Colour ***/
.elementor-background-video-container { 
  background: #003D4C;
}
/* Responsive */
@media (min-width: 992px) {
    .elementor-background-video-container { 
        background:#003D4C;
    }
}
.elementor-background-video-container video { 
  opacity: 1;
  animation-name: fadeInOpacity;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 2.2s;
  transition: opacity 2s ease-in-out; /* 🔥 esto es nuevo */
}
@keyframes fadeInOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Flyover video */
#featured-icons-aerial .elementor-background-video-container { 
  background-image: url('/wp-content/themes/breeze/assets/videos/flyover-video-img.webp');
}
/* Responsive */
@media (min-width: 992px) {
    #featured-icons-aerial.elementor-background-video-container { 
        background-image: url('/wp-content/themes/breeze/assets/videos/flyover-video-img.webp');
    }
}
#featured-icons-aerial .elementor-background-video-container video { 
  opacity: 1;
  animation-name: fadeInOpacity;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 2.2s;
}



/* =======================================================================
 Buttons /* WP Editor Buttons
========================================================================== */
/*** Outline Buttons ***/
.wp-block-button.is-style-btn-default a, .elementor-kit-8 .elementor-button,
#e-n-menu-title-6045 {
	font-size:0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var( --e-global-color-809f0c8);
	border: solid 1px var( --e-global-color-809f0c8);
	border-radius: 2px!important;
	padding: 0.75rem 1rem;
	display: inline-block;
	line-height: 1.3;
	text-align: center;
	transition: all .3s;
  background-color: transparent;
  text-decoration: none;
}
.wp-block-button.is-style-btn-default a:hover,
.elementor-kit-8 .elementor-button:hover,
#e-n-menu-title-6045:hover {
  background-color: rgba(0, 43, 53, 1); /* Light Yellow */ 
  text-decoration: none;
}

.transparent .wp-block-button.is-style-btn-default a, .elementor-kit-8 .elementor-button {
  color: var(--e-global-color-809f0c8);/* Light Yellow */ 
	border: solid 1px var( --e-global-color-809f0c8);/* Light Yellow */ 
  background-color: transparent;
  text-decoration: none;
}

.transparent .wp-block-button.is-style-btn-default a:hover,
.elementor-kit-8 .elementor-button:hover {
  color: var(--e-global-color-809f0c8);/* Light Yellow */ 
	border: solid 1px var( --e-global-color-809f0c8);/* Light Yellow */ 
  background-color: rgba(0, 43, 53, 1);
  text-decoration: none;
}

/*
.transparent-dark .wp-block-button.is-style-btn-default a, .elementor-kit-8 .elementor-button {
  color: var(--e-global-color-secondary);/* Light Yellow 
	border: solid 1.5px var( --e-global-color-secondary);/* Light Yellow 
  background-color: transparent;
}

.transparent-dark .wp-block-button.is-style-btn-default a:hover,
.elementor-kit-8 .elementor-button:hover {
  color: var(--e-global-color-809f0c8);/* Light Yellow 
	border: solid 1.5px var( --e-global-color-809f0c8);/* Light Yellow 
  background-color: rgba(0, 43, 53, 1);
}*/

/*** Underline Buttons ***/
.elementor-button-info a.elementor-button,
.wp-block-button.is-style-btn-underline a, 
.elementor-cta__button.elementor-button {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	border-style: solid !important;
	border-width: 0px 0px 2px 0px !important;
	border-radius: 0px!important;
  border-bottom: var(--e-global-color-text);
	padding: 0rem 0rem .75rem 0rem !important;
	background-color: transparent !important;
	transition: all .3s;
  margin-top: 1rem;
  color: var(--e-global-color-text);
}
.elementor-button-info a.elementor-button:hover,
.wp-block-button.is-style-btn-underline a:hover,
.elementor-cta__button.elementor-button:hover {
  font-weight: 700;
  color: rgba(0, 96, 117, 1) !important;          /* Red text */
  border-bottom: 2px solid rgba(0, 96, 117, 1) !important;   /* Optional underline if not already set */
  background-color: transparent !important; /* Ensure no background interferes */
}

.elementor-button-info.secondary a.elementor-button,
.wp-block-button.is-style-btn-underline a, 
.elementor-cta__button.elementor-button {
  font-weight: 600;
  color: var(--e-global-color-809f0c8)!important;/* Light Yellow */ 
	border-bottom: solid 2px var( --e-global-color-809f0c8)!important;/* Light Yellow */ 
}

.elementor-button-info.secondary a.elementor-button:hover,
.wp-block-button.is-style-btn-underline a:hover,
.elementor-cta__button.elementor-button:hover {
  font-weight: 700;
  color: var(--e-global-color-809f0c8)!important;/* Light Yellow */ 
	border-bottom: solid 2px var( --e-global-color-809f0c8)!important;/* Light Yellow */ 
}

/* Submit Buttons */
#contact-form .elementor-button[type="submit"]:hover {
  color: var(--e-global-color-809f0c8)!important;/* Light Yellow */ 
  background-color: var(--e-global-color-secondary)!important;
  transform: none !important;
  transition: none !important;
  margin-bottom: 0!important;
  margin-top: 0!important;
}
.elementor-2056 .elementor-element.elementor-element-e8702f7 .elementor-form-fields-wrapper {
    margin-left: calc( -10px/2 );
    margin-right: calc( -10px/2 );
    margin-bottom: 0!important;
}

/* Button Icon*/
#button-icon svg * {
  transition: fill 0.3s ease;
}

#button-icon:hover svg * {
  fill: var(--e-global-color-809f0c8); /* Light Yellow */
}




/* =======================================================================
 Blog Cards
========================================================================== */

/* Living & Community */
.Living .card-body, 
.Community .card-body {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-text) !important;
}

/* Forest */
.Forest .card-body {
    background-color: var(--e-global-color-79e0b7c) !important;
    color: var(--e-global-color-primary) !important;
}

/* Container for the image */
.blog-card .card-img {
  overflow: hidden;
}

/* The image */
.blog-card .card-img img {
  transition: transform 0.6s ease;
  width: 100%;
  height: auto;
}

/* Zoom on hover */
.blog-card:hover .card-img img {
  transform: scale(1.1);
}

.blog-card a {
    text-decoration: none !important;
    box-shadow: none !important; /* Some themes use box-shadow for underlines */
}

/* Ensure underlines don't appear on hover either */
.blog-card a:hover {
    text-decoration: none !important;
    box-shadow: none !important;
}


.blog-card h3 {
  margin-bottom: 0;
}



/* =======================================================================
 Homesite Cards
========================================================================== */

/* The container for the image */
.homesite-card .card-img {
    aspect-ratio: 4 / 4.5; 
    overflow: hidden;   
    display: flex; 
    width: 100%;
    min-height: auto; 
    align-items: center;
    justify-content: center;
}

/* The image itself */
.homesite-card .card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;   
    object-position: center center;   /* Keeps the middle of the photo in view */
    transition: transform 0.5s ease; 
}

/* The zoom effect on hover */
.homesite-card:hover .card-img img {
    transform: scale(1.1); /* Zooms in by 10% */
}



/* =======================================================================
 Related Blog Cards
========================================================================== */
/* Force the Listing Grid to be a true Flex container */
.related-listings-grid .jet-listing-grid__items {
    display: flex !important;
}

/* Force the Card to be a CSS Grid with 2 specific rows */
.related-listings-grid .blog-card {
    height: 100% !important;
    display: grid !important;
    /* Row 1 (Body): Fills all available space | Row 2 (Image): Stays 16/9 */
    grid-template-rows: 1fr auto; 
    grid-template-columns: 100%;
}

/* Handle the <a> tag and content wrappers */
.related-listings-grid .blog-card > a,
.related-listings-grid .jet-listing-dynamic-post {
    display: contents; /* This effectively "removes" the wrapper so the Grid can see the children */
}

/* Assign elements to their rows */
.related-listings-grid .card-body {
    grid-row: 1; /* Always at the top, stretching to fill */
    display: flex;
    flex-direction: column;
}

/* Keep the Image at the bottom and maintain landscape ratio */
.related-listings-grid .card-img {
    aspect-ratio: 16 / 9;
    flex-shrink: 0; /* Prevents the image from squishing */
    margin-top: auto; /* Pushes the image to the very bottom */
    overflow: hidden;
}

/* Ensure the image fills its container */
.related-listings-grid .card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* This block only runs in Safari/WebKit browsers */
@supports (-webkit-hyphens:none) {
    .related-listings-grid .card-img {
        /* Safari needs an explicit height fallback because it ignores aspect-ratio in Grids */
        height: auto; 
        min-height: 150px; /* Adjust this to match your approximate landscape height */
    }
    
    .related-listings-grid .card-img img {
        /* Prevents Safari from collapsing the image to 0 height */
        position: relative !important;
        flex: 1 0 100%;
    }
}



/* =======================================================================
Text + Media
========================================================================== */
.text-media img {
  border-radius: 0;
}
@media (min-width:992px) {
  .text-media img {
    border-radius: 3px;
  }
}
/* featured icons text */
span.elementor-icon-box-title,
.elementor-icon-box-content {
  line-height: 1.3 !important;
}

/* Default WP images (Gutenberg + classic img inside content) */
.entry-content img,
.wp-block-image {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* Ensure figure wrapper behaves properly */
.wp-block-image figure {
  margin-top: 0;
  margin-bottom: 0;
}

/* Media & Text block */
.wp-block-media-text {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* =======================================================================
Testimonials
========================================================================== */
.elementor-testimonial-wrapper .elementor-testimonial-content {
  position: relative;
  margin-bottom: 3rem;
}
/* Add opening curly quote */
.elementor-testimonial-content::before {
  content: "“";
  margin-right: 0.1em;
}
/* Add closing curly quote */
.elementor-testimonial-content::after {
  content: "”";
  margin-left: 0.1em;
}
/* meta details alignment */
.elementor-widget-testimonial .elementor-widget-container .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-meta-inner .elementor-testimonial-details {
    flex-direction: row;
    display: flex;
    justify-content: center;
    gap: .5rem;
    align-items: center;
}
@media (max-width:576px) {
  .elementor-widget-testimonial .elementor-widget-container .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-meta-inner .elementor-testimonial-details {
    flex-direction: row;
    display: flex;
    justify-content: center;
    gap: .5rem;
    align-items: center;
    flex-wrap: wrap;
  }
}
.elementor-testimonial-wrapper {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
}
/* comma after name */
.elementor-testimonial-name::after {
  content: ",";
  margin-left: 0.2em; /* optional spacing */
}

    
/* =======================================================================
   Gallery
========================================================================== */
/* Style the footer */
.elementor-slideshow__footer {
  width: 100%;
  z-index: 5;
  padding: 1rem;
  background-color: rgba(0, 128, 128, 0.5); /* semi-transparent teal */
  color: white;
  box-sizing: border-box;
  display: block;
}

/* =======================================================================
   Accordion
========================================================================== */
.elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
    width: 26px;
}

@media (max-width:567px) {
  .elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
    width: 13px;
  }
}
@media (min-width:568px) and (max-width:767px) {
  .elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
    width: 13px;
  }
}
@media (min-width:768px) {
    .elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
    width: 18px;
  }
}
@media (min-width:992px) {
    .elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
    width: 23px;
  }
}
@media (min-width:1200px) {
    .elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
    width: 26px;
  }
}

.e-n-accordion-item[open] .e-n-accordion-item-title {
  border-bottom: none !important;
}


/* =======================================================================
   Sign Up Form
========================================================================== */
.signup_form form {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.signup_form .elementor-form-fields-wrapper {
    display: flex;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}
.signup_form input[type=text], 
.signup_form input[type=email] {
    padding: .5rem 0;
}

.signup_form label {
    opacity: 0.75;
}

.signup_form .elementor-button[type="submit"]:hover {
    background-color: var(--e-global-color-secondary);
    color: var(--e-global-color-primary);
    border: solid 1px var(--e-global-color-primary)!important;
}

@media (max-width:767px) {
  .signup_form .elementor-form-fields-wrapper {
      flex-direction: column;
      align-content: flex-start;
    align-items: flex-start;
  }
  .signup_form .elementor-button[type="submit"] {
    margin-top: 1rem;
  }

  .signup_form form {
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
  }
}


/* =======================================================================
   Camps Numbers
========================================================================== */

.camps-number {
  max-height: 50px;
  height: 50px;
  min-height: 50px;
  width: 50px;
}

.map-numbers {
  max-height: 30px;
  height: 30px;
  min-height: 30px;
  width: 30px;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  align-items: center;
  padding-top: 0.25rem !important;
}

@media (max-width:767px) {
  .map-numbers {
    max-height: 25px;
    height: 25px;
    min-height: 25px;
    width: 25px;
  }
}

/* =======================================================================
   Homesites Map
========================================================================== */
/* Spot */
.jet-hotspots__item .jet-hotspots__item-inner .jet-hotspots__item-icon {
    color: var(--e-global-color-809f0c8);
    display: none;
}
/* Spot Inner */
.jet-hotspots__item .jet-hotspots__item-inner {
  height: 35px;
  width: 35px;
  border-radius: 20rem;
}

/* Community Map Spot Inner */
.community-map .jet-hotspots__item .jet-hotspots__item-inner {
  height: 25px;
  width: 25px;
  border-radius: 20rem;
}

/*  Spot Inner Lighten the hotspot icon on hover + active */
.jet-hotspots__item:hover .jet-hotspots__item-inner, 
.jet-hotspots__item.jet-hotspots__item--active .jet-hotspots__item-inner {
    background-color: color-mix(in srgb, var(--e-global-color-secondary), white 15%) !important;
    transition: background-color 0.3s ease;
}

/* Tooltips Text */
.jet-hotspots .tippy-box .tippy-content h3,
.jet-hotspots .tippy-box .tippy-content h3 a,
.jet-hotspots .tippy-box .tippy-content {
  color: var(--e-global-color-primary);
}

.jet-hotspots .tippy-box .tippy-content h3,
.jet-hotspots .tippy-box .tippy-content h3 a {
  text-decoration: none;
  text-transform: none;
  margin-bottom: 0.5rem;
}

/* Tooltips Box */
.jet-hotspots .tippy-box {
    aspect-ratio: 3 / 1;
    min-width: 250px;
    max-width: 350px;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}

/* Community Map Tooltips Box */
.community-map .tippy-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  font-weight: bold!important;
}

.community-map .tippy-content::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background-image: url("/wp-content/themes/breeze/assets/icons/THF_icon_forward_light.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* Community Map ── Hide arrow icon when no link (cursor default) ── */
.community-map .tippy-content[data-no-link="1"] {
  cursor: default !important;
}

.community-map .tippy-content[data-no-link="1"]::after {
  display: none !important;
}

/* Tooltips Box Lighten the tooltip box on hover */
.jet-hotspots .tippy-box:hover {
    background-color: color-mix(in srgb, var(--e-global-color-secondary), white 15%) !important;
    transition: background-color 0.3s ease;
}

/* Tooltips Arrow */
.tippy-arrow {
    width: 16px;
    height: 16px;
    color: var(--e-global-color-secondary);
}

/* Ensure the content inside doesn't overflow the aspect-ratio */
.jet-hotspots .tippy-content {
    width: 100%;
}

.jet-hotspots {
    overflow: hidden!important;
}

.jet-hotspots__item-inner {
    cursor: default;
}


/* Clip the overlay so it never escapes the tippy-box */
.tippy-box {
    position: relative !important;
    cursor: pointer;
    overflow: hidden !important;
}

/* Reset intermediate containers */
.tippy-content,
.tippy-content > div,
.e-con-inner,
.elementor-widget-container {
    position: static !important;
}

/* Keep h3 visible */
.tippy-box h3.elementor-heading-title {
    position: relative;
    z-index: 2;
    pointer-events: none;
}

.tippy-box h3.elementor-heading-title a {
    position: relative;
    z-index: 2;
    pointer-events: auto;
}

/* Overlay stays strictly inside tippy-box thanks to overflow:hidden */
.tippy-box h3.elementor-heading-title a::after {
    content: "";
    display: block;
    position: absolute;
    top: -9999px;
    left: -9999px;
    right: -9999px;
    bottom: -9999px;
    z-index: 1;
}


/* Community Map ── Specific hotspot circles: primary bg, secondary number ── */
#jet-hotspot-2377 .jet-hotspots__item-inner,
#jet-hotspot-2378 .jet-hotspots__item-inner,
#jet-hotspot-2379 .jet-hotspots__item-inner,
#jet-hotspot-23710 .jet-hotspots__item-inner,
#jet-hotspot-23711 .jet-hotspots__item-inner,
#jet-hotspot-23712 .jet-hotspots__item-inner {
  background-color: var(--e-global-color-primary) !important;
}

#jet-hotspot-2377 .jet-hotspots__item-text,
#jet-hotspot-2378 .jet-hotspots__item-text,
#jet-hotspot-2379 .jet-hotspots__item-text,
#jet-hotspot-23710 .jet-hotspots__item-text,
#jet-hotspot-23711 .jet-hotspots__item-text,
#jet-hotspot-23712 .jet-hotspots__item-text {
  color: var(--e-global-color-secondary) !important;
}

#jet-hotspot-2377 a,
#jet-hotspot-2378 a,
#jet-hotspot-2379 a,
#jet-hotspot-23710 a,
#jet-hotspot-23711 a,
#jet-hotspot-23712 a,
a#jet-hotspot-2377,
a#jet-hotspot-2378,
a#jet-hotspot-2379,
a#jet-hotspot-23710,
a#jet-hotspot-23711,
a#jet-hotspot-23712 {
  text-decoration: none !important;
}

/* Community Map ── Tooltip text color and dark icon only for primary tooltips ── */
/* Primary tooltip box color  */
.tippy-primary.tippy-box {
  background-color: var(--e-global-color-primary) !important;
  color: var(--e-global-color-primary) !important;
}

/* Primary tooltip hover */
.tippy-primary.tippy-box:hover {
  background-color: color-mix(in srgb, var(--e-global-color-primary), white 15%) !important;
  transition: background-color 0.3s ease;
}

.tippy-primary .tippy-content::after {
  background-image: url("/wp-content/themes/breeze/assets/icons/THF_icon_forward_dark.svg");
}



@media (max-width:767px) {
  /* Spot Inner */
  .jet-hotspots__item .jet-hotspots__item-inner {
    height: 25px;
    width: 25px;
    border-radius: 20rem;
  }

  .jet-hotspots {
    overflow: hidden;
  }

  /* map wrapprer */
  .jet-hotspots__inner {
    width: 160%;
    margin-left: -37%;
  }

   /* community map wrapprer */
  .community-map .jet-hotspots__inner {
    width: 100%;
    margin-left: 0;
  }

   /* Tooltips Box */
  .jet-hotspots .tippy-box {
    min-width: 200px;
    max-width: 300px;
    width: 100%;
    height: auto;
  }

}
