/* =======================================================================
   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
@import url("https://use.typekit.net/glv5rng.css");*/

html {
  font-size: 16px; /* 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;
  overflow-x: hidden!important;
}

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

/*.elementor-widget-wrap {
  max-width: 100% !important;
  overflow-x: hidden;
}
*/

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

.wp-block-image img {
  border-radius: 1.25em;
}
@media (max-width: 567px) { 
  .wp-block-image img {
    border-radius: .875em;
  }
}
/* =======================================================================
   Fonts
========================================================================== */
/* Block Headings Font Sizes */
.wp-block-heading.is-style-h1 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-c297f56-font-weight);
  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);
}
.wp-block-heading.is-style-h2 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-21c5652-font-weight);
  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);
}
.wp-block-heading.is-style-h3 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-9ddb4af-font-weight);
  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);
}
.wp-block-heading.is-style-h4 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-2fe9092-font-weight);
  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);
  font-family: "futura-pt-bold", sans-serif!important;
}
.wp-block-heading.is-style-h5 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-a73f9a2-font-weight);
  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);
  font-family: "futura-pt-bold", sans-serif!important;
}

.wp-block-heading.is-style-h6 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-7b4f8fe-font-weight);
  font-style: normal;
  font-size: var(--e-global-typography-7b4f8fe-font-size);
  line-height: var(--e-global-typography-7b4f8fe-line-height);
  letter-spacing: var(--e-global-typography-7b4f8fe-letter-spacing);
  text-transform: var(--e-global-typography-7b4f8fe-text-transform);
  font-family: "futura-pt-bold", sans-serif!important;
}
/*** 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: 0.5rem auto;
  font-style: normal;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-weight: 400 !important;
}
.wp-block-heading.is-style-s1 {
  margin: 1rem 0;
  font-style: normal;
  font-size: var(--e-global-typography-45735d1-font-size);
  line-height: var(--e-global-typography-45735d1-line-height);
  letter-spacing: var(--e-global-typography-45735d1-letter-spacing);
  font-weight: var(--e-global-typography-45735d1-font-weight);
  text-transform: var(--e-global-typography-45735d1-text-transform);
  font-family: 'futura-pt-bold', sans-serif!important;
}
.wp-block-heading.is-style-s2 {
  margin: 1rem 0;
  font-style: normal;
  font-size: var(--e-global-typography-43c312b-font-size);
  line-height: var(--e-global-typography-43c312b-line-height);
  letter-spacing: var(--e-global-typography-43c312b-letter-spacing);
  font-weight: var(--e-global-typography-43c312b-font-weight);
  text-transform: var(--e-global-typography-43c312b-text-transform);
  font-family: 'futura-pt-bold', sans-serif!important;
}
.elementor-kit-8 p.is-style-c1 {
  margin: 1rem 0;
  font-family: var(--e-global-typography-6d86073-font-family), Sans-serif !important;
  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);
}
.elementor-kit-8 p.is-style-c2 {
  margin: 1rem 0;
  font-family: var(--e-global-typography-c6d21ea-font-family), Sans-serif !important;
  font-weight: var(--e-global-typography-c6d21ea-font-weight);
  font-size: var(--e-global-typography-c6d21ea-font-size);
  line-height: var(--e-global-typography-c6d21ea-line-height);
  letter-spacing: var(--e-global-typography-c6d21ea-letter-spacing);
}

.elementor-kit-8 p.is-style-lead {
  margin: 1rem 0;
  font-family: var(--e-global-typography-85b74ee-font-family), Sans-serif !important;
  font-weight: var(--e-global-typography-85b74ee-font-weight);
  font-size: var(--e-global-typography-85b74ee-font-size);
  line-height: var(--e-global-typography-85b74ee-line-height);
  letter-spacing: var(--e-global-typography-85b74ee-letter-spacing);
  color: var(--e-global-color-primary)!important;
}

.elementor-kit-8 p.is-style-body-sm {
  font-size: var(--e-global-typography-2b1aeb5-font-size);
}

/* =======================================================================
 Header & Headroom
========================================================================== */
/*#header {
  background-color: var(--e-global-color-4a6002a);/* Initial 50% opacity 
}
/* Sticky header behavior
#header.headroom--pinned.headroom--top {
}

/* Sticky header behavior 
#header.headroom--pinned.headroom--not-top {
}

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

/* =======================================================================
   Header & Headroom – Default + Transparent Styles
========================================================================== */

/* DEFAULT STYLE */
.header-default #header {
  background-color: var(--e-global-color-4a6002a); /* Solid fill */
  transition: background-color 0.3s ease, transform 0.3s ease;
}

/* TRANSPARENT STYLE */
.header-transparent #header {
  background-color: transparent; /* Initial transparent */
  transition: background-color 0.3s ease, transform 0.3s ease;
}

/* White links on Transparent Header*/
.header-transparent #header .e-n-menu-title-text {
  color: #fff;
}
/* Transparent header logic with scroll */
.header-transparent #header.headroom--top {
  background-color: transparent; /* At top: stays transparent */
  color: #fff !important;
}
/* After scroll: solid */
.header-transparent #header.headroom--not-top {
  background-color: var(--e-global-color-4a6002a);
  color: #222 !important;
}
/* After scroll: change thext color */
.header-transparent #header.headroom--not-top .e-n-menu-title-text {
  color: #222 !important;
}

/* --- COMMON HEADROOM BEHAVIOR --- */
#header.headroom--pinned {
  transform: translateY(0%); /* Visible when pinned */
}
#header.headroom--unpinned {
  transform: translateY(-100%); /* Hidden when unpinned */
}

/* Smoother transitions */
#header {
  transition: background-color 0.3s ease, transform 0.3s ease;
}
#header,
#header * {
  pointer-events: none !important;
  cursor: default !important;
}
/* Nav menu links */
.elementor-widget-n-menu a {
  pointer-events: none !important;
  cursor: default !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: var(--e-global-color-4a6002a);
}
/* 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: 100%;
}
/* 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: 100%;
}

/* 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;
  pointer-events: none!important;
}

/* Dropdown container */
.dropdown-container {
  padding: 0 2rem 2rem 2rem !important;
}

/* Mobile */
@media (max-width: 576px) {
  .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: 100%;
    margin-left: auto;
    margin-right: 0;
    box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.2); /* bottom-only shadow */
    background-color: var(--e-global-color-5a0de86); /* Solid fill */
    padding: 2rem 1rem;
  }
}

/* Tablet */
@media (min-width: 577px) and (max-width: 768px) {
  .elementor-widget-n-menu .e-n-menu[data-layout='dropdown'] .e-n-menu-title {
    justify-content: space-between;
    max-width: 450px !important;
    background-color: transparent !important;
  }
  .elementor-widget-n-menu .e-n-menu[data-layout='dropdown'] .e-n-menu-item {
    display: flex;
    flex-direction: column;
    width: 425px !important;
  }
  .elementor-widget-n-menu .e-n-menu-heading {
    width: 100%;
    max-width: 450px;
    margin-left: auto;
    margin-right: 0;
    background-color: var(--e-global-color-5a0de86); /* Solid fill */
    padding: 2rem 1rem;
  }
}

/* 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;
  }
}

/* Mobile Menu List Items Paddings */
@media (max-width: 993px) {
  li.elementor-icon-list-item {
    padding-bottom: calc(0.6rem / 1);
  }
}

/* =======================================================================
 Dark & Light Theme Blocks
========================================================================== */
.dark {
  color: var(--e-global-color-d97f477);
  background-color: #444; /* Dark theme styling for blocks */
}

.dark h1,
h2,
h3,
h4,
h5,
h6,
a {
  color: var(--e-global-color-d97f477);
}

/* =======================================================================
 Page Heros
========================================================================== */
/* Home + Large Page Hero + Splash */
#home-hero,
#large-hero,
#splash {
  width: 100% !important;
  height: 90vh;
  min-height: 850px;
  max-height: 850px;
  position: relative;
  overflow: hidden;
}

.hero-lines {
  display: block;
  width: 100vw !important; /* full viewport width, ignores container */
  max-width: none !important;
  height: auto;
  object-fit: cover;
}

/* Responsive heights */
@media (max-width: 1200px) {
  #home-hero,
  #large-hero,
  #splash {
    height: 90vh;
    min-height: 700px;
    max-height: 700px;
  }
}

@media (max-width: 992px) {
  #home-hero,
  #large-hero,
  #splash {
    height: 80vh;
    min-height: 750px;
    max-height: 750px;
  }
}

/* Responsive: adjust hero lines position + width */
@media (max-width: 768px) {
  #home-hero,
  #large-hero,
  #splash {
    height: 65vh;
    min-height: 750px;
    max-height: 750px;
    background-position: center top;
  }

  #large-hero .hero-lines {
    width: 130vw;
  }
}

@media (max-width: 576px) {
  #home-hero,
  #large-hero,
  #splash {
    height: 55vh;
    min-height: 550px;
    max-height: 550px;
    background-position: center top;
    background-size: cover;
  }

  #large-hero .hero-lines {
    width: 150vw;
  }
}

/* Default Page Hero */
#page-hero {
  width: 100%;
  height: 55vh;
  min-height: 400px;
  max-height: 400px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
/* Large screens */
@media (max-width: 1200px) {
  #page-hero {
    height: 50vh;
    min-height: 350px;
    max-height: 350px;
  }
}
/* Medium screens */
@media (min-width: 769px) and (max-width: 992px){
  #page-hero {
    height: 40vh;
    min-height: 300px;
    max-height: 300px;
  }
}
/* Tablets */
@media (max-width: 768px) {
  #page-hero {
    height: 35vh;
    min-height: 300px;
    max-height: 300px;
    background-position: center center;
  }
}
/* Mobile */
@media (max-width: 576px) {
  #page-hero {
    height: 35vh;
    min-height: 250px;
    max-height: 250px;
    background-position: center center;
    background-size: cover;
  }
}

/* Itinerary Page Hero */
#page-hero.page-hero-itinerary{
  width: 100%;
  height: 80vh;
  min-height: 750px;
  max-height: 750px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
/* Large screens */
@media (max-width: 1200px) {
  #page-hero.page-hero-itinerary {
    height: 80vh;
    min-height: 650px;
    max-height: 650px;
  }
}
/* Medium screens */
@media (min-width: 769px) and (max-width: 992px){
  #page-hero.page-hero-itinerary {
    height: 70vh;
    min-height: 650px;
    max-height: 650px;
  }
}
/* Tablets */
@media (max-width: 768px) {
  #page-hero.page-hero-itinerary {
    height: 60vh;
    min-height: 700px;
    max-height: 700px;
    background-position: center center;
  }
}
/* Mobile */
@media (max-width: 576px) {
  #page-hero.page-hero-itinerary {
    height: 60vh;
    min-height: 750px;
    max-height: 750px;
    background-position: center center;
    background-size: cover;
  }
}


/* 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;
  }*/
  .listing-hero-img {
    max-height: 620px;
    min-height: 520px;
  }
  #blog-hero {
    max-height: 400px;
    min-height: 300px;
  }
  /* Blog Hero Img 
  .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;
  }*/
  .listing-hero-img {
    max-height: 620px;
    min-height: 620px;
  }
}
/* 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: radial-gradient(
    50% 50% at 50% 50%,
    rgba(19, 32, 63, 1) 0%,
    rgba(33, 33, 33, 1) 100%
  );
}
/* Responsive */
@media (min-width: 992px) {
  .elementor-background-video-container {
    background: 
      /*url('data:image/svg+xml,<svg width="121" height="153" viewBox="0 0 121 153" fill="none" xmlns="http://www.w3.org/2000/svg"><path opacity="0.25" d="M117.527 66.865C112.148 64.6827 108.98 71.045 108.98 71.045C108.98 71.045 105.24 71.9056 100 73.1196C103.138 66.0044 104.807 58.0439 104.807 49.6531C104.807 18.7947 82.4266 0 52.473 0C15.7187 0 0 30.3205 0 51.7739C0 70.1076 8.99537 91.0077 29.7373 99.6904C8.4235 114.151 4.43586 128.244 4.43586 128.244C-3.57033 153.524 18.0989 152.986 18.0989 152.986C35.7342 153.616 63.8795 133.223 63.8795 133.223L63.6013 132.716C46.5997 141.69 41.0047 140.015 30.3091 138.54L28.8872 139.278C38.3462 141.122 33.9876 143.98 33.9876 143.98C16.306 154.23 10.3091 141.153 10.3091 141.153C4.29676 127.306 21.7465 110.755 21.7465 110.755C26.1824 107.159 30.2937 104.101 34.5131 101.381C39.6136 102.933 45.3169 103.809 51.7002 103.809C72.1484 103.809 88.0989 93.8507 97.0016 78.9594C104.56 77.4994 110.788 76.4544 110.788 76.4544C115.07 79.4819 118.594 77.315 120.325 74.1646C121.886 71.337 120.649 68.1251 117.558 66.865H117.527ZM12.643 48.0549C12.643 19.0713 29.3045 4.50274 51.5302 4.50274C72.5657 4.50274 92.0093 21.5917 92.0093 53.3567C92.0093 62.5466 90.5874 69.9231 88.2844 75.8397C85.1932 76.5774 82.0866 77.2996 79.2581 77.9912C72.473 79.6355 51.9166 87.5653 45.085 90.8847C42.4421 92.1602 39.9846 93.4665 37.6662 94.7881C22.7666 87.5346 12.6584 70.7837 12.6584 48.0702L12.643 48.0549ZM55.2705 98.7684C50.7883 98.7684 46.4761 98.0768 42.4575 96.7398C46.9706 94.3732 51.8393 92.2217 57.5425 90.1163C60.4792 89.0252 72.8594 84.4456 78.609 82.955C80.7574 82.4017 83.1994 81.8178 85.7496 81.2645C77.6044 95.5719 63.4622 98.7837 55.2705 98.7837V98.7684ZM116.09 75.1174C114.22 75.8397 112.21 75.1174 111.561 73.5038C110.927 71.8902 111.917 70 113.787 69.2777C115.641 68.5554 117.666 69.2777 118.3 70.8913C118.934 72.5049 117.944 74.3951 116.074 75.1174H116.09Z" fill="white"/></svg>') no-repeat center,*/
      radial-gradient(
      50% 50% at 50% 50%,
      rgba(19, 32, 63, 1) 0%,
      rgba(33, 33, 33, 1) 100%
    );
  }
}
.elementor-background-video-container video {
  opacity: 1;
  animation-name: fadeInOpacity;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 2.2s;
}
@keyframes fadeInOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Default Page Hero */
#blog-list-hero {
  width: 100%;
  height: 60vh;
  min-height: 500px;
  max-height: 500px;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
/* Large screens */
@media (max-width: 1200px) {
  #blog-list-hero {
    height: 60vh;
    min-height: 500px;
  }
}
/* Medium screens */
@media (max-width: 992px) {
  #blog-list-hero {
    height: 55vh;
    min-height: 500px;
  }
}
/* Tablets */
@media (max-width: 768px) {
  #blog-list-hero {
    height: 50vh;
    min-height: 400px;
  }
}
/* Mobile */
@media (max-width: 576px) {
  #blog-list-hero {
    height: 45vh;
    min-height: 450px;
    background-size: cover;
  }
}

/* =======================================================================
 Buttons
========================================================================== */
/*** Default Buttons ***/
.wp-block-button.is-style-btn-default a,
.elementor-kit-8 .elementor-button {
  font-size: 0.875rem;
  font-family: var(--e-global-typography-45735d1-font-family), Sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: white;
  border-radius: 6px;
  border:none;
  padding: 0.75rem 1.25rem 0.75rem 1.25rem;
  display: inline-block;
  line-height: 1;
  text-align: center;
  transition: all 0.3s;
  margin-top: 1rem;
  background-color: var(--e-global-color-primary);
}
.wp-block-button.is-style-btn-default a:hover,
.elementor-kit-8 .elementor-button:hover {
  color: white;
  background-color: #3B3737;
  border:none;
}

/*** Load More Buttons ***/
.wp-block-button.is-style-btn-default a:focus,
.elementor-kit-8 .elementor-button:focus,
.elementor-element .elementor-button:focus
  {
    background-color: var(--e-global-color-primary)!important;
}

/*** Outline Buttons ***/
.wp-block-button.is-style-btn-outline a,
.elementor-kit-8 .elementor-button-info .elementor-button {
  font-size: 0.875rem;
  font-family: var(--e-global-typography-45735d1-font-family), Sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--e-global-color-d97f477);
  border-radius: 6px;
  border: solid 1px #343a40;
  padding: 0.75rem 1.25rem 0.75rem 1.25rem;
  display: inline-block;
  line-height: 1;
  text-align: center;
  transition: all 0.3s;
  margin-top: 1rem;
  background-color: transparent;
}
.wp-block-button.is-style-btn-outline a:hover,
.elementor-kit-8 .elementor-button-info .elementor-button:hover {
  border: solid 1px var(--e-global-color-primary);
}

/*** Nav Buttons ***/
#nav-btn {
  margin-top: 0 !important;
}

/* =======================================================================
 Icon Buttons
========================================================================== */
/* Right-arrow icon */
.wp-block-button.is-style-btn-icon-right a,
.elementor-kit-8 .elementor-button-icon-right .elementor-button a {
  font-size: 0.875rem;
  font-family: var(--e-global-typography-45735d1-font-family, sans-serif);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #343a40;
  border-radius: 100px;
  border: none;
  padding: 0;
  margin-top: 1rem;
  line-height: 1;
  text-align: center;
  background-color: transparent !important;
  transition: color 0.3s ease;
  /* Prepare for the icon */
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem; /* space between text and icon */
}
.wp-block-button.is-style-btn-icon-right a::after,
.elementor-kit-8 .elementor-button-icon-right .elementor-button a::after {
  content: '';
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: url('/wp-content/themes/breeze/assets/icons/arrow-right.svg')
    center / contain no-repeat;
  transition: transform 0.25s ease, opacity 0.25s ease; /* image swap is instant */
  opacity: 1;
}
/* Hover color */
.wp-block-button.is-style-btn-icon-right a:hover,
.elementor-kit-8 .elementor-button-icon-right .elementor-button:hover {
  color: #616161;
}
/* Hover: swap icon + nudge to the right */
.wp-block-button.is-style-btn-icon-right a:hover::after,
.elementor-kit-8 .elementor-button-icon-right .elementor-button:hover::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow-right-hover.svg');
}
/* Left-arrow icon */
.wp-block-button.is-style-btn-icon-left a,
.elementor-kit-8 .elementor-button-icon-left .elementor-button a {
  font-size: 0.875rem;
  font-family: var(--e-global-typography-45735d1-font-family, sans-serif);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #343a40;
  border-radius: 100px;
  border: none;
  padding: 0;
  margin-top: 1rem;
  line-height: 1;
  text-align: center;
  background-color: transparent !important;
  transition: color 0.3s ease;
  /* Prepare for the icon */
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem; /* space between text and icon */
}
.wp-block-button.is-style-btn-icon-left a::before,
.elementor-kit-8 .elementor-button-icon-left .elementor-button a::before {
  content: '';
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: url('/wp-content/themes/breeze/assets/icons/arrow-left.svg')
    center / contain no-repeat;
  transition: transform 0.25s ease, opacity 0.25s ease; /* image swap is instant */
  opacity: 1;
}
/* Hover color */
.wp-block-button.is-style-btn-icon-left a:hover,
.elementor-kit-8 .elementor-button-icon-left .elementor-button:hover {
  color: #616161;
}
/* Hover: swap icon + nudge to the right */
.wp-block-button.is-style-btn-icon-left a:hover::before,
.elementor-kit-8 .elementor-button-icon-left .elementor-button:hover::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow-left-hover.svg');
}

/* =======================================================================
 Icon Links
========================================================================== */
/* Base normalization for the Icon List widget */
.elementor-widget-icon-list .elementor-icon-list-item,
.elementor-widget-icon-list .elementor-icon-list-item a {
  display: flex;
  align-items: center;
  gap: 1rem; /* space between icon & text */
  margin-top: 0.5rem;
}

.elementor-widget-icon-list .elementor-icon-list-icon,
.elementor-widget-icon-list .elementor-icon-list-text {
  margin: 0 !important; /* kill any theme margins */
  padding: 0 !important; /* kill any theme margins */
}

/* ===== Direction controls (add class on the widget) ===== */

/* Icon on the LEFT */
.elementor-widget-icon-list.icon-left .elementor-icon-list-item,
.elementor-widget-icon-list.icon-left .elementor-icon-list-item a {
  flex-direction: row;
  text-align: left;
}

/* Icon on the RIGHT */
.elementor-widget-icon-list.icon-right .elementor-icon-list-item,
.elementor-widget-icon-list.icon-right .elementor-icon-list-item a {
  flex-direction: row-reverse;
  text-align: right;
}

/* Optional: tighten SVG baseline alignment */
.elementor-widget-icon-list .elementor-icon-list-icon svg {
  display: block; /* avoids extra descender gap */
}

.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
  margin: 0;
}
/* card link */
span a {
  font-weight: 700 !important;
}
.elementor-icon-wrapper {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  align-items: center;
}

/* =======================================================================
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: 0.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: 0.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 */
}

/* =======================================================================
Halfbox
========================================================================== */
.text-media img {
  border-radius: 0;
}
@media (min-width: 992px) {
  .text-media img {
    border-radius: 3px;
  }
}

/* =======================================================================
  Halfbox - Media & Text Block Editor - Contained Styles
========================================================================== */
/* Base layout */
.elementor-widget-theme-post-content .wp-block-media-text {
  position: relative;
  direction: ltr;
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 3rem;
  margin: 3rem 0;
  padding: 0;
  overflow: hidden;
  color: #343a40;
}

.elementor-widget-theme-post-content
  .wp-block-media-text
  .wp-block-media-text__content {
  padding: 0;
  color: #343a40;
}

/* Media wrapper */
.elementor-widget-theme-post-content
  .wp-block-media-text__media {
  position: relative;
  overflow: hidden;
}

/* Imagen solo dentro del Media & Text del editor */
.elementor-widget-theme-post-content
  .wp-block-media-text__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Border radius solo a estas variantes */
.elementor-widget-theme-post-content
  .wp-block-media-text.is-style-contained-landscape
  .wp-block-media-text__media img,
.elementor-widget-theme-post-content
  .wp-block-media-text.is-style-contained-portrait
  .wp-block-media-text__media img {
  border-radius: 1em;
}

/* Aspect ratio LANDSCAPE */
.elementor-widget-theme-post-content
  .wp-block-media-text.is-style-contained-landscape
  .wp-block-media-text__media {
  aspect-ratio: 4 / 3;
}

/* Aspect ratio PORTRAIT */
.elementor-widget-theme-post-content
  .wp-block-media-text.is-style-contained-portrait
  .wp-block-media-text__media {
  aspect-ratio: 7 / 8;
}

/* Mobile */
@media (max-width: 768px) {
  .elementor-widget-theme-post-content .wp-block-media-text {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
    /* Force stacking direction */
  .wp-block-media-text {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Force media (image) to always come first */
  .wp-block-media-text .wp-block-media-text__media {
    order: -1 !important;
  }

  /* Content always after image */
  .wp-block-media-text .wp-block-media-text__content {
    order: 2 !important;
  }
}

/* =======================================================================
Halfbox - Editor Full With - Dark
========================================================================== */
.wp-block-media-text.is-style-full-width {
  position: relative; /* needed so ::before positions correctly */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  direction: ltr;
  display: grid;
  grid-template-columns: 50% 1fr; /* 50/50 split */
  grid-template-rows: auto;
  gap: 0;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  padding: 0;
  z-index: 1; /* content above pseudo-element */
  border-radius: 0 !important;
  color: #fff !important;
  align-items: stretch; /* grid items fill the row height */
}

/* Full-width dark texture underlay */
.wp-block-media-text.is-style-full-width::before {
  content: '';
  position: absolute;
  inset: 0;
  left: 0;
  right: 0;
  background:#3B3737;
  opacity: 1;
  z-index: -1;
}

/* Neutralize global paragraph max-width inside this block only */
.wp-block-media-text.is-style-full-width .wp-block-media-text__content p {
  max-width: none !important;
}

/* Properly scoped heading colors inside this block */
.wp-block-media-text.is-style-full-width .wp-block-media-text__content h2,
.wp-block-media-text.is-style-full-width .wp-block-media-text__content h3,
.wp-block-media-text.is-style-full-width .wp-block-media-text__content h4 {
  color: #fff;
}
/* Content area spacing & centering */
.wp-block-media-text.is-style-full-width .wp-block-media-text__content {
  min-height: 100%;
  padding: 5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff !important;
}

/* Force 4:3 aspect ratio on the media area */
/* 4:3 on the media container*/
.wp-block-media-text.is-style-full-width .wp-block-media-text__media {
  aspect-ratio: 4 / 3;
  overflow: hidden; /* clean crop */
  align-self: start; /* prevent stretching beyond 4:3 */
}

/* Fills the media inside the 4:3 box */
.wp-block-media-text.is-style-full-width .wp-block-media-text__media > img,
.wp-block-media-text.is-style-full-width
  .wp-block-media-text__media
  > picture
  > img,
.wp-block-media-text.is-style-full-width .wp-block-media-text__media > video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  /* Remove any previous caps so the ratio controls height */
  max-height: none !important;
  height: 100% !important;
  /* If you had a halfbox mask on the imgs, keep it disabled here */
  -webkit-mask: none !important;
  mask: none !important;
}

/* Fallback for browsers without aspect-ratio support */
@supports not (aspect-ratio: 1 / 1) {
  .wp-block-media-text.is-style-full-width .wp-block-media-text__media {
    position: relative;
  }
  .wp-block-media-text.is-style-full-width .wp-block-media-text__media::before {
    content: '';
    display: block;
    padding-top: 75%; /* 4:3 = 3/4 */
  }
  .wp-block-media-text.is-style-full-width .wp-block-media-text__media > img,
  .wp-block-media-text.is-style-full-width
    .wp-block-media-text__media
    > picture
    > img,
  .wp-block-media-text.is-style-full-width .wp-block-media-text__media > video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Buttons (white outline )*/
.wp-block-media-text.is-style-full-width
  .wp-block-buttons
  .wp-block-button.is-style-btn-default
  a {
  font-size: 0.875rem;
  font-family: var(--e-global-typography-45735d1-font-family), Sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  border: solid 1px #fff;
  padding: 0.75rem 1.25rem;
  display: inline-block;
  line-height: 1;
  text-align: center;
  transition: all 0.3s;
  margin-top: 1rem;
  background-color: transparent;
}
.wp-block-media-text.is-style-full-width
  .wp-block-buttons
  .wp-block-button.is-style-btn-default
  a:hover {
  color: #000;
  background-color: #fff !important;
  border: solid 1px #fff;
}

/* Mobile */
@media (max-width: 768px) {
  /* Keep full-bleed, but stack for mobile */
  .wp-block-media-text.is-style-full-width {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    display: flex;
    flex-direction: column;
    gap: 3rem;
    max-height: none; /* allow natural height */
    overflow: visible;
  }

  .wp-block-media-text.is-style-full-width::before {
    left: 0;
    right: 0;
  }

  /* Put image first, keep 4:3 (remove fixed 500px height) */
  .wp-block-media-text.is-style-full-width .wp-block-media-text__media {
    order: -1;
    width: 100%;
    height: auto !important; /* kill fixed heights */
    aspect-ratio: 4 / 3;
  }
  .wp-block-media-text.is-style-full-width .wp-block-media-text__media > img,
  .wp-block-media-text.is-style-full-width
    .wp-block-media-text__media
    > picture
    > img,
  .wp-block-media-text.is-style-full-width .wp-block-media-text__media > video {
    height: 100% !important;
  }
  /* Content spacing / alignment */
  .wp-block-media-text.is-style-full-width .wp-block-media-text__content {
    order: 0;
    padding: 2rem;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}

/* =======================================================================
CARDS
========================================================================== */
/* Base Card Styles */
/*.card {
	aspect-ratio: 3 / 4;
}*/
.card:hover {
  background-color: transparent !important;
}
.card .featured img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 1em;
  transition: filter 0.3s ease;
}
.card:hover .featured img {
  filter: brightness(0.6);
}
/* Card Types */
.card.card-type-splash .featured img {
  aspect-ratio: 4 / 3;
}
/*.card.card-type-default {
	aspect-ratio: 3 / 4;
}*/
.card.card-type-default .featured img {
  aspect-ratio: 3 / 4;
}
.card.card-type-splash {
  position: relative;
}

/* Cards - Aspect 4/3 */
.card.card-collection,
.card.card-collection .featured img,
.card.card-itinerary,
.card.card-itinerary .featured img,
.card.card-blog .featured img,
.grid-2cols .card.card-place .featured img {
  aspect-ratio: 4 / 3;
}


.card.card-custom-texture,
.card.card-custom-texture .featured img {
  aspect-ratio: 7 / 5;
}
/* Cards - Aspect 7/8 */
.card.card-place .featured img,
.card.card-listing .featured img,
.card.card-promo .featured img,
.card.card-event,
.card.card-event .featured img,
.card.card-custom,
.card.card-custom .featured img {
  aspect-ratio: 7 / 8;
}

@media (max-width: 567px) {
  .card.card-collection,
  .card.card-collection .featured img,
  .card.card-itinerary,
  .card.card-itinerary .featured img,
  .card.card-place .featured img,
  .grid-2cols .card.card-place .featured img,
  .card.card-promo .featured img,
  .card.card-event .featured img,
  .card.card-custom .featured img {
    aspect-ratio: 7 / 8;
  }
  .card.card-listing .featured img,
  .card.card-place .featured img {
    aspect-ratio: 1 / 1;
  }
  .card.card-blog .featured img {
    aspect-ratio: 4 / 3;
  }
}

/* Cards inside Grids specifically */
.jet-listing-grid__items .card {
}

/* =======================================================================
CARD Carousel Slider
========================================================================== */
.jet-listing-grid__slider {
  overflow: hidden!important;
}

.jet-listing-grid__slider-icon {
  background: transparent !important;
  line-height: auto;
  margin-top: calc(-36px / 2);
  border-radius: 100px;
  border: none;
  padding: 0;
}

/* Carousel Arrows */
.jet-listing-grid__slider-icon {
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin-top: calc(-40px / 2);
  font-size: 50px;
  color: var(--e-global-color-4a6002a);
  background: var(--e-global-color-4a6002a);
  border-radius: 100px;
  padding: 0 !important;
}
/* Hide only the LEFT arrow when it's disabled */
.jet-listing-grid__slider-icon.prev-arrow[aria-disabled='true'] {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Card */
.jet-listing-grid__slider .jet-listing-grid__item .card {
  width: 350px;
}
.jet-listing-grid__slider .jet-listing-grid__item .card.card-collection {
  width: 550px;
}

@media (min-width: 568px) and (max-width: 767px) {
  .jet-listing-grid__slider .jet-listing-grid__item .card {
    width: 300px;
  }
  .jet-listing-grid__slider .jet-listing-grid__item .card.card-collection {
    width: 550px;
  }
}
@media (max-width: 567px) {
  .jet-listing-grid__slider .jet-listing-grid__item .card {
    width: 80vw;
  }
  .jet-listing-grid__slider .jet-listing-grid__item .card.card-collection {
    width: 80vw;
  }
}



/* =======================================================================
CARD Carousel Container
========================================================================== */
.card-carousel-container{
  /* Offset = (viewport - container) / 2 */
  --container-offset: max(0px, calc((100vw - var(--container-max-width)) / 2));

  /* Escape the parent centering so calculations are viewport-correct */
  position: relative;
  left: calc(50vw - 50%);

  /* Align left edge with the site container */
  margin-left: var(--container-offset) !important;
  margin-right: 0 !important;

  /* Bleed to the right edge of the viewport */
  width: calc(100vw - var(--container-offset)) !important;
  max-width: none !important;

  overflow: visible;
}

/* Make sure the JetEngine grid/slider uses the full container width */
.card-carousel-container .jet-listing-grid,
.card-carousel-container .jet-listing-grid__slider{
  width: 100% !important;
  max-width: 100% !important;
}

/* Mobile: normal container behavior */
@media (max-width: 767px){
  .card-carousel-container{
    left: 0;
    margin-left: 0 !important;
    width: 100% !important;
  }
}

/* =======================================================================
CARD Carousel Grid
========================================================================== */
.jet-listing-grid__loader {
	display:none;
}

/* =======================================================================
EVENT CARDS
========================================================================== */
/* 1st card → primary-red */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(1).card.card-event
  .featured
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(1).card.card-event
  .featured
  img {
  content: url('/wp-content/themes/breeze/assets/imgs/events/primary-red.webp') !important;
}

/* 2nd card → secondary */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  .featured
  img
  .jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2).card.card-event
  .featured
  img {
  content: url('/wp-content/themes/breeze/assets/imgs/events/secondary.webp') !important;
}

/* 3rd card → primary-yellow */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event
  .featured
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3).card.card-event
  .featured
  img {
  content: url('/wp-content/themes/breeze/assets/imgs/events/primary-yellow.webp') !important;
}

/* 4th card → secondary-teal */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(4)
  .card.card-event
  .featured
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(4).card.card-event
  .featured
  img {
  content: url('/wp-content/themes/breeze/assets/imgs/events/secondary-teal.webp') !important;
}

/* 5th card → brown */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(5)
  .card.card-event
  .featured
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(5).card.card-event
  .featured
  img {
  content: url('/wp-content/themes/breeze/assets/imgs/events/brown.webp') !important;
}
/* 6th card → dark */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(6)
  .card.card-event
  .featured
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(6).card.card-event
  .featured
  img {
  background-image: url('/wp-content/themes/breeze/assets/imgs/events/dark.webp') !important;
}
/* 7th card → green */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  .featured
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7).card.card-event
  .featured
  img {
  content: url('/wp-content/themes/breeze/assets/imgs/events/green.webp') !important;
}

/* These are the cards with secondary.webp + yellow + green.webp */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event {
  color: #343a40 !important; /* global text color override */
}
/* Target headings + paragraphs for extra safety */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  h1,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  h1,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  h2,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  h2,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  h3,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  h3,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  p,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .card.card-event
  p,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event
  h1,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event
  h1,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event
  h2,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event
  h2,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event
  h3,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event
  h3,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .card.card-event
  p,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(p)
  .card.card-event
  p,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  h1,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  h1,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  h2,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  h2,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  h3,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  h3,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  p,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .card.card-event
  p {
  color: #343a40 !important;
}

/* Event Icons */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .icon-box
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .icon-box
  img,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .icon-box
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .icon-box
  img,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .icon-box
  img,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .icon-box
  img {
  filter: brightness(0) invert(0.2) sepia(0.2) saturate(2) hue-rotate(180deg);
}

/* Border-bottom also becomes #343a40 */
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .icon-box,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(2)
  .icon-box,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .icon-box,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(3)
  .icon-box,
.jet-listing-grid
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .icon-box,
.jet-listing-grid
  .jet-listing-grid__slider
  .jet-listing-grid__items
  .jet-listing-grid__item:nth-child(7)
  .icon-box {
  border-bottom-color: #343a40 !important;
}

/* =======================================================================
PROMO CARDS
========================================================================== */
/* Base state: keep your original card layout untouched */
.card.card-promo .card-promo-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* Align Top */
.card.card-promo .card-promo-inner.alignment-top {
  justify-content: flex-start;
  align-items: flex-start;
}

/* Align Middle */
.card.card-promo .card-promo-inner.alignment-middle {
  justify-content: center;
  align-items: center;
}

/* Align Bottom */
.card.card-promo .card-promo-inner.alignment-bottom {
  justify-content: flex-end;
  align-items: flex-end;
}

/* promo-title icon arrow */
.promo-title .last-word {
  position: relative;
  display: inline-block;
  padding-right: 3.5rem; /* room for arrow */
}
.promo-title .last-word::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 1em;
  height: 1em;
  transform: translateY(-33%);
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_yellow.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

/* =======================================================================
CUSTOM TEXT CARDS
========================================================================== */
/* Base style — applies to all .last-word */
.custom-title .last-word {
  position: relative;
  display: inline-block;
  padding-right: 3.5rem; /* room for arrow */
}
.custom-title .last-word::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 1em;
  height: 1em;
  transform: translateY(-33%);
  background-size: contain;
  background-repeat: no-repeat;
}

/* DIFFERENT ARROWS PER CHILD */
/* 1st child → arrow_yellow.svg */
.card.card-custom-texture:nth-child(1) .custom-title .last-word::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_yellow.svg');
}
/* 2nd child → arrow_teal.svg */
.card.card-custom-texture:nth-child(2) .custom-title .last-word::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_teal.svg');
}
/* 3rd child → arrow_green.svg */
.card.card-custom-texture:nth-child(3) .custom-title .last-word::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_green.svg');
}

/* =======================================================================
Card Grid Blogs Filter - JetSmartFilters Radio
========================================================================== */
/* Make it a nav row with breathing room */
.blog-category-tabs .jet-radio-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 40px; /* breathing room between items */
  row-gap: 14px;    /* spacing if it wraps */
}

/* JetSmartFilters uses rows; keep them horizontal */
.blog-category-tabs .jet-radio-list__row {
  display: flex;
  align-items: center;
}

/* Hide JetSmartFilters default radio decorator */
.blog-category-tabs .jet-radio-list__decorator,
.blog-category-tabs .jet-radio-list__checked-icon {
  display: none !important;
}

/* Hide native radio input */
.blog-category-tabs input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
}

/* Make the whole item clickable like a tab */
.blog-category-tabs .jet-radio-list__item {
  margin: 0 !important;
  cursor: pointer;
}

/* Button wrapper becomes our tab */
.blog-category-tabs .jet-radio-list__button {
  display: inline-flex;
  align-items: center;
  gap: 12px;          /* icon ↔ text spacing */
  padding: 8px 2px;   /* breathing room */
  position: relative; /* REQUIRED for underline positioning */
}

/* Label text */
.blog-category-tabs .jet-radio-list__label {
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
  gap: 10px;
}

/* Icon slot BEFORE label */
.blog-category-tabs .jet-radio-list__label::before {
  content: "";
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(1px);
}

/* Base underline (exists but hidden via scale) */
.blog-category-tabs .jet-radio-list__button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px; /* vertical position */
  height: 16px;
  background-image: url("/wp-content/themes/breeze/assets/icons/underline.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 480ms cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}

/* Hover / focus: sweep in from center */
.blog-category-tabs
  .jet-radio-list__item:hover
  .jet-radio-list__button::after,
.blog-category-tabs
  .jet-radio-list__item:focus-within
  .jet-radio-list__button::after {
  transform: scaleX(1);
}

/* Active (checked) stays visible */
.blog-category-tabs
  .jet-radio-list__item
  input:checked
  + .jet-radio-list__button::after {
  transform: scaleX(1);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  .blog-category-tabs .jet-radio-list__button::after {
    transition: none;
  }
}


/* ICONS PER CATEGORY (by term slug) */
/* All */
.blog-category-tabs .jet-radio-list__item input[value=""] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/story.svg");
}

/* Places */
.blog-category-tabs .jet-radio-list__item input[value="57"] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/point.svg");
}

/* Events */
.blog-category-tabs .jet-radio-list__item input[value="49"] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/ticket.svg");
}

/* Family Fun */
.blog-category-tabs .jet-radio-list__item input[value="48"] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/viewpoint.svg");
}

/* Things to do */
.blog-category-tabs .jet-radio-list__item input[value="27"] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/mountains.svg");
}


/* =======================================================================
   Gallery - Lightbox
========================================================================== */
.scrim {
  background-color: rgba(0, 0, 0, 0.5) !important;
}
.lightbox-trigger {
  display: none;
}
.wp-lightbox-container button:focus,
.wp-lightbox-container button:hover,
.wp-lightbox-container button:not(:hover):not(:active):not(.has-background) {
  background-color: #5a5a5a40;
  border: none;
  display: none;
}

/* =======================================================================
   Gallery - Editor
========================================================================== */
/* Shared: gap, item reset, image fill + radius */
.wp-block-gallery{
  gap: 1rem !important; /* works for flex/grid; safe everywhere */
}
.wp-block-gallery > figure.wp-block-image{
  margin: 0 !important;
  overflow: hidden;
  border-radius: 1.25em;
}
.wp-block-gallery > figure.wp-block-image img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: inherit;
}

/* Mobile radius */
@media (max-width: 767px){
  .wp-block-gallery > figure.wp-block-image{
    border-radius: 1em;
  }
}

/* DEFAULT STYLE = grid (3 cols → 2 cols)
  (applies to galleries NOT using masonry style)*/
.wp-block-gallery:not(.is-style-masonry){
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}
@media (max-width: 991px){
  .wp-block-gallery:not(.is-style-masonry){
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* MASONRY STYLE = CSS columns (true masonry)
  (same 3 cols → 2 cols, same gap) */
.wp-block-gallery.is-style-masonry{
  display: block !important;         /* columns need block container */
  column-count: 3;
  column-gap: 1rem;
}
/* masonry items must be inline-block to flow into columns */
.wp-block-gallery.is-style-masonry > figure.wp-block-image{
  display: inline-block !important;
  width: 100% !important;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 1rem !important;       /* vertical gap for columns */
}

/* 2 cols on tablet + mobile */
@media (max-width: 991px){
  .wp-block-gallery.is-style-masonry{
    column-count: 2;
  }
}


/* =======================================================================
   Accordions - Editor
========================================================================== */
.wp-block-accordion:hover {
  text-decoration: none !important;
}

/* Accordion item */
.wp-block-accordion .wp-block-accordion-item {
  border-bottom: 2px solid #3B3737;  /* solo borde inferior */
  border-radius: 0;
  overflow: visible;          /* para que el panel quede dentro del borde */
  margin-bottom: 1rem;
  text-decoration: none !important;
}

/* Accordion Item Hover */
.wp-block-accordion .wp-block-accordion-item:hover {
  text-decoration: none !important;
  border-color: #3B3737;
}

/* Accordion Button */
.wp-block-accordion .wp-block-accordion-heading button {
  background-color: transparent;
  padding: .75rem 0;
  border: 0 !important;
  border-radius: 0;
  width: 100%;
  text-align: left;
  font-family: 'futura-pt-bold', sans-serif !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Accordion Button Hover */
.wp-block-accordion .wp-block-accordion-heading button:hover span {
  text-decoration: none !important;
}

/* Accordion Item Icon (base reset) */
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon {
  width: 2rem;
  height: 2rem;
  /* remove default + / − */
  font-size: 0;
  line-height: 0;
  /* needed for animation layers */
  position: relative;
  display: inline-block;
  /* smooth rotation like the example */
  transition: transform 320ms ease;
  will-change: transform;
  transform-origin: 50% 50%;
}

/* ICON LAYERS (to animate swap) */
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /* crossfade */
  transition: opacity 260ms ease, transform 260ms ease;
  will-change: opacity, transform;
  /* prevent any inherited rotation on the SVG layers */
  rotate: 0deg !important;
  transform-origin: 50% 50%;
}

/* CLOSED icon (expand) */
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/expand.svg");
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* OPEN icon (minimize) */
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon::after {
  background-image: url("/wp-content/themes/breeze/assets/icons/minimize.svg");
  opacity: 0;
  transform: translateY(-2px) scale(0.96);
}

/* When OPEN: rotate the wrapper + crossfade layers */
.wp-block-accordion .wp-block-accordion-item.is-open
.wp-block-accordion-heading__toggle-icon {
  transform: rotate(-90deg); /* matches the “tilt/rotate” vibe */
}

/* Fade out expand */
.wp-block-accordion .wp-block-accordion-item.is-open
.wp-block-accordion-heading__toggle-icon::before {
  opacity: 0;
  transform: translateY(2px) scale(0.96);
}

/* Fade in minimize */
.wp-block-accordion .wp-block-accordion-item.is-open
.wp-block-accordion-heading__toggle-icon::after {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Ensure final minimize looks perfectly horizontal (even while wrapper rotates) */
.wp-block-accordion .wp-block-accordion-item.is-open
.wp-block-accordion-heading__toggle-icon::after {
  transform: translateY(0) scale(1) rotate(90deg);
}

/* Accordion Item Open */
.wp-block-accordion .wp-block-accordion-item.is-open {
  border-color: #3B3737;
  text-decoration: none !important;
}

/* Accordion Item Open Panel */
.wp-block-accordion-panel {
  padding: .5rem 0;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .wp-block-accordion .wp-block-accordion-heading
  button .wp-block-accordion-heading__toggle-icon,
  .wp-block-accordion .wp-block-accordion-heading
  button .wp-block-accordion-heading__toggle-icon::before,
  .wp-block-accordion .wp-block-accordion-heading
  button .wp-block-accordion-heading__toggle-icon::after {
    transition: none !important;
    transform: none !important;
  }
}
@media (max-width: 480px) {
  /* Reduced padding from Accordion Item */
  .wp-block-accordion .wp-block-accordion-heading button,
  .wp-block-accordion-panel {
    padding: 0.5rem 0;  /* antes 1rem 1.5rem */
  }

  /* Reduced size of Icon */
  .wp-block-accordion .wp-block-accordion-heading
  button .wp-block-accordion-heading__toggle-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* =======================================================================
  IMAGE CAROUSEL - Editor
========================================================================== */
/* Base slider / swiper */
.wp-block-cb-carousel-v2.cb-carousel-block,
.wp-block-cb-carousel-v2.cb-carousel-block .swiper {
  width: 100%;
}

/* Use aspect ratio to define slider height */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper {
  aspect-ratio: 16 / 9; /* adjust if needed */
  height: auto;
  position: relative;
}

/* Slides should fill the swiper box */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide {
  position: relative;
  overflow: hidden;
  border-radius: 1.25em; /* desktop radius */
}

/* Figure / image wrapper */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide figure,
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide .wp-block-image {
  margin: 0 !important;
  width: 100%;
  height: 100%;
}

/* Image fills the slide */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  border-radius: inherit; /* ensure image follows slide radius */
}

/* Pagination – overlay on image, centered bottom */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-pagination {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 1.25rem !important;
  z-index: 10 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.5rem;
  pointer-events: auto;
}

/* Pagination bullets – desktop */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-pagination-bullet {
  width: 1.25rem !important;
  height: 1.25rem !important;
  border-radius: 999px;
  opacity: 0.55;
}

/* Active bullet */
.wp-block-cb-carousel-v2.cb-carousel-block
.swiper-pagination-bullet-active {
  background-color: #fff !important;
  opacity: 1;
}

/* Inactive bullets */
.wp-block-cb-carousel-v2.cb-carousel-block
.swiper-pagination-bullet {
  background-color: rgba(255, 255, 255, 0.75);
}

/* Mobile adjustments */
@media (max-width: 767px) {
  /* Slightly taller ratio on mobile */
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper {
    aspect-ratio: 4 / 3;
  }
  /* Smaller radius on mobile */
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide {
    border-radius: 1em;
  }
  /* Pagination tweaks */
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper-pagination {
    bottom: 1rem !important;
    gap: 0.35rem;
  }
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper-pagination-bullet {
    width: 0.85rem !important;
    height: 0.85rem !important;
  }
}

/* Remove arrows */
.wp-block-cb-carousel-v2.cb-carousel-block .cb-button-prev,
.wp-block-cb-carousel-v2.cb-carousel-block .cb-button-next,
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-button-prev,
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-button-next {
  display: none !important;
}


/* =======================================================================
  IMAGE CAROUSEL - Elementor
========================================================================== */
.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom:20px;
}
/* Ensure each slide can define height */
.elementor-widget-image-carousel .swiper-slide {
  display: flex;
  align-items: stretch;
}

/* Force the inner wrapper to fill the slide */
.elementor-widget-image-carousel .swiper-slide-inner {
  width: 100%;
  height: 100%;
  margin: 0;
  display: block;
}

/* Make the image behave like a background cover */
.elementor-widget-image-carousel .swiper-slide-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
 .elementor-widget-image-carousel .swiper-slide {
    aspect-ratio: 4 / 3;
  }
}
.elementor-widget-image-carousel .swiper {
  overflow: hidden;
} 

/* =======================================================================
   Highlight - Editor - Default Img Cover
========================================================================== */
.wp-block-cover .wp-block-cover__background {
  opacity: 0.2;
  background-color: #444 !important;
}
.wp-block-cover .wp-block-cover__inner-container {
  width: 65%;
  margin: 0 auto;
}
.wp-block-cover .wp-block-cover__inner-container h2 {
  color: #fff;
  font-weight: 700;
  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);
}
.wp-block-cover .wp-block-cover__inner-container p.is-style-c1 {
  margin: -10px auto 1rem auto;
}
.wp-block-cover .wp-block-cover__inner-container p.is-style-c2 {
  margin: -10px auto 1rem auto;
}

/* =========================================================
     Highlight - Editor - Dark Cover
========================================================= */
.wp-block-cover.is-style-dark {
  color: white !important;
}
.wp-block-cover.is-style-dark > .wp-block-cover__background {
  background:#444;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1; /* adjust this value to control bg opacity */
}

/* =========================================================
    Highlight - Editor - Light Cover
========================================================= */
.wp-block-cover.is-style-light {
  color: #343a40;
}
.wp-block-cover.is-style-light > .wp-block-cover__background {
  background:#fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1; /* adjust this value to control bg opacity */
}
.wp-block-cover.is-style-light .wp-block-cover__inner-container h2 {
  color: #343a40 !important;
}

/* =======================================================================
   Quote Text
========================================================================== */
blockquote {
  display: flex;
  align-items: center; /* vertically center text */
  margin-block-start: 2rem;
  margin-block-end: 2rem;
  margin-inline-start: 0;
  margin-inline-end: 0;
  unicode-bidi: isolate;
  color: var(--e-global-color-primary);
  border-left: solid 12px var(--e-global-color-primary);
  padding-left: 2rem;
  min-height: 130px; /* or any value you need */
}

blockquote p {
  width: 75%;
  margin-block-end: 0 !important;
  padding-bottom: 0;
}

/* =======================================================================
   Footer
========================================================================== */

.footer-top-mask {
  -webkit-mask-image: url('/wp-content/themes/breeze/assets/masks/footer-lines-desktop.svg');
  mask-image: url('/wp-content/themes/breeze/assets/masks/footer-lines-desktop.svg');
  mask-size: 100%;
  mask-repeat: no-repeat;
  padding: 0 !important;
}

/* Mobile */
@media (max-width: 568px) {
  .footer-top-mask {
    -webkit-mask-image: url('/wp-content/themes/breeze/assets/masks/footer-lines-mobile.svg');
    mask-image: url('/wp-content/themes/breeze/assets/masks/footer-lines-mobile.svg');
    mask-size: 100%;
    mask-repeat: no-repeat;
  }
}
#footer,
.footer {
}
