/* =======================================================================
   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: 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;

}

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

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


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

ul {
  margin-bottom: 1.6rem;
}

.elementor-151 .elementor-element.elementor-element-dd57487 {
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
  padding-top:0!important;
}


/* =======================================================================
   Fonts
========================================================================== */


/* Block Headings Font Sizes */
.wp-block-heading.is-style-h1 {
 font-weight: 700;
  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);
  font-style: var(--e-global-typography-c297f56-font-style);
}
.wp-block-heading.is-style-h2 {
 font-weight: 700;
  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);
  font-style: var(--e-global-typography-21c5652-font-style);
}
.wp-block-heading.is-style-h3 {
  font-weight: 700;
  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 {
  font-weight: 700;
  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);
}
.wp-block-heading.is-style-h5 {
  font-weight: 700;
  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);
}

.is-style-s1 {
    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-family: var(--e-global-typography-43c312b-font-family), Sans-serif;
    text-transform: uppercase;
}

.is-style-s2 {
    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-family: var(--e-global-typography-43c312b-font-family), Sans-serif;
    text-transform: uppercase;
}
.is-style-lead {
    font-size: var(--e-global-typography-978c15e-font-size);
    line-height: var(--e-global-typography-978c15e-line-height);
    letter-spacing: var(--e-global-typography-978c15e-letter-spacing);
    font-family: var(--e-global-typography-978c15e-font-family), Sans-serif;
    font-weight: var(--e-global-typography-978c15e-font-weight);
    font-style: var(--e-global-typography-978c15e-font-style);
}

.is-style-c1 {
    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-family: var(--e-global-typography-6d86073-font-family), Sans-serif;
    font-weight: var(--e-global-typography-6d86073-font-weight);
    font-style: var(--e-global-typography-6d86073-font-style);
}

.is-style-c2 {
    font-size: var(--e-global-typography-c6d21ea-font-size);
    line-height: var(--e-global-typography-c6d21ea-line-height);
    font-family: var(--e-global-typography-c6d21ea-font-family), Sans-serif;
}

.is-style-body-default {
    font-size: var(--e-global-typography-text-font-size);
    line-height: var(--e-global-typography-text-line-height);
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 15px;
    font-weight: var(--e-global-typography-text-font-weight);
}

.is-style-body-sm {
    font-size: var(--e-global-typography-2b1aeb5-font-size);
    line-height: var(--e-global-typography-2b1aeb5-line-height);
    font-weight: var(--e-global-typography-2b1aeb5-font-weight);
}


/*** 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-weight: 700;
  font-style: normal;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-weight:400 !important;
}
.elementor-icon-box-title span {
  font-weight: 700!important;
}


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

/* =======================================================================
 Main Nav
========================================================================== */

/* Tablet and mobile Background colour */
@media (max-width: 1024px) {
  .inside-menu-container {
    background-color: transparent!important;
    margin-top: 0;
    padding: .5rem 1.5rem 2rem 1.5rem;
  }
   /* When a dropdown is open, tint the whole menu item */
  #menubar-604 .e-n-menu-item {
    padding: 0;
  }
   /* When a dropdown is open, tint the whole menu item */
  #menubar-604 .e-n-menu-item:has(> .e-n-menu-content.e-active) {
    background-color: rgba(198, 166, 147, 0.4); /* #C6A693 40% */
  }

  /* Keep inner pieces transparent so the li’s bg shows through */
  #menubar-604 .e-n-menu-item .e-n-menu-title.e-click,
  #menubar-604 .e-n-menu-item .e-n-menu-content {
    background: transparent;
  }
}


/* Mune toggle*/
#menu-toggle-604 {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0; /* optional: removes any extra padding */
}
#menu-toggle-604:focus,
#menu-toggle-604:active,
#menu-toggle-604:hover {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Menu arrows on tabet and mobile*/
/* Show dropdown indicator only on tablet & mobile */
@media (max-width: 1024px) {
  /* Scope to the specific menu */
  #menubar-604 [aria-haspopup="true"] {
    position: relative;
  }

  /* Arrow pointing right when closed */
  #menubar-604 [aria-haspopup="true"]::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 0;
    vertical-align: middle;
    background: no-repeat center / contain
      url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 6 15 12 9 18'/></svg>");
    transition: transform 0.2s ease;
  }

  /* Arrow pointing up when open */
  #menubar-604 [aria-haspopup="true"][aria-expanded="true"]::after {
    transform: rotate(-90deg);
  }
}

/* Mobile and Table Menu Content */
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-content {
  overflow: hidden;
  background-color: var(--e-global-color-4a6002a);
  /*margin-left: -1rem;*/
}
/* Mobile and Table Menu Title */
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
  justify-content: space-between;
  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 List */
.menu-list {
  padding: .5rem 1rem 0rem 0rem;
}

/* Hide the icon by default */
.elementor-widget .elementor-icon-list-icon {
  display: none;
  width: 1em; /* Fixed width to reserve space */
  margin-right: 0.5em;
  margin-top: 0.35em;
}
/* Reserve space on the left so text doesn't shift when icon appears */
.elementor-widget .elementor-icon-list-item {
  padding-left: 1.5em;
  position: relative;
}

/* Top icon by default */
.icon-top .elementor-icon-list-item .elementor-icon-list-icon {
  display: block!important;
  width: 1em; 
  margin-right: 0.25rem;
  margin-bottom: 0;
}

/* Reserve space on the left so text doesn't shift when icon appears */
.icon-top .elementor-icon-list-item {
  margin-left: 0.5rem;
  position: relative;
  margin-bottom: 0;
  margin-top:0.3rem;
}

/* Hover para elementos de lista con íconos */
.icon-top .elementor-icon-list-item .elementor-icon-list-text:hover {
  color: white!important;
}

.icon-top .elementor-icon-list-item .elementor-icon-list-text {
  color: white !important;
  position: relative; /* necessary to placed the icon */
}

.icon-top .elementor-icon-list-item .elementor-icon-list-text::before {
  content: '';
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  background-image: url('/wp-content/themes/breeze/assets/icons/phone.svg');
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.5em;
  vertical-align: middle;
}

/* 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;
  color: var(--e-global-color-primary) !important;
  fill: var(--e-global-color-primary) !important; /* For SVG icons */
  position: absolute;
  left: 0;
  top: 20%;
  transform: translateY(-50%); /* Vertically center the icon */
}

/* Remove left padding only for icon list items inside the footer */
.elementor-location-footer .elementor-icon-list-item {
  padding-left: 0 !important;
}
/* List item hover */
.elementor-widget .elementor-icon-list-item a:hover {
  font-weight: bold;
}
/* Remove icon (before) from Last child item */
.elementor-widget .elementor-icon-list-item:last-child .elementor-icon-list-icon {
  display: none !important;
}

/* Add icon (after) to last child item */
.elementor-widget .elementor-icon-list-item:last-child .elementor-icon-list-text::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url('/wp-content/themes/breeze/assets/icons/chevron-right.svg');
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 0.5em;
  vertical-align: middle;
  row-gap: 0;
}

/* 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;
  display: flex;
  flex-direction: row;
  flex-wrap: var(--n-menu-heading-wrap);
  justify-content: space-between;
}

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

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

/* Hover & active menu items */
.e-n-menu-item:hover .e-n-menu-title-text,
.e-n-menu-item.e-active .e-n-menu-title-text {
  font-weight: 900 !important;
}

/* Hover para elementos de lista con íconos */
.elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-icon-list-item.active .elementor-icon-list-text {
  font-weight: 900 !important;
  color: var(--e-global-color-text)!important;
}


/* dropdown background */
:where(.elementor-widget-n-menu .e-n-menu-content>.e-con) {
    background-color: transparent;
}

/* Mobile */
@media (max-width: 576px) {
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
    background-color: transparent !important;
    padding:1rem 1.25rem;
    align-items: center;
    align-content: center;
    justify-content: flex-start !important;
    display: flex;
    flex-direction: row;
    flex-grow: var(--n-menu-title-flex-grow);
    font-weight: 500;
    gap: 0;
  }
  .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: var(--e-global-color-4a6002a);
    row-gap:0;
    margin-top: .5rem;
  }
  .elementor.elementor .elementor-widget-n-menu.e-n-menu-tablet_extra .e-n-menu-toggle {
  display: flex;
  background: transparent;
  border: none;
  }
  /* Show bottom border by default on items that are not current, not hovered, and not clicked (dropdown open) */
  .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:not(.e-current):not(:hover):not(.e-click) {
    border-style: solid;
    border-width: 0 0 1px 0;
    border-color: var(--e-global-color-6ebfe90);
  }

  /* Remove border when the item is current, hovered, or has dropdown open */
  .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-current,
  .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-click,
  .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:hover {
    border: none !important;
  }

}

/* Tablet */
@media (min-width: 577px) and (max-width: 992px) {
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
    max-width: 450px !important;
    background-color: transparent !important;
    padding:1rem 1.25rem;
    align-items: center;
    align-content: center;
    justify-content: flex-start !important;
    display: flex;
    flex-direction: row;
    flex-grow: var(--n-menu-title-flex-grow);
    font-weight: 500;
    gap: 0;
  }
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item {
    display: flex;
    flex-direction: column;
  }
  .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-4a6002a);
    row-gap:0;
    margin-top: .7rem;
  }
/* Show bottom border by default on items that are not current, not hovered, and not clicked (dropdown open) */
.e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:not(.e-current):not(:hover):not(.e-click) {
  border-style: solid;
  border-width: 0 0 1px 0;
  border-color: var(--e-global-color-6ebfe90);
}

/* Remove border when the item is current, hovered, or has dropdown open */
.e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-current,
.e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-click,
.e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:hover {
  border: 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;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
  }
}

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

/* Last menu item - Button */
@media (min-width: 992px) {
  /* Base styles for the last nav item */
  .e-n-menu-heading > li:last-child .e-n-menu-title {
    font-size: 0.875rem;
    font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--e-global-color-text);
    border: 1px solid var(--e-global-color-text)!important;
    border-radius: 2px;
    padding: .85rem .75rem .85rem 1.2rem;
    display: flex;
    align-items: center;
    line-height: 1;
    text-align: center;
    background-color: transparent !important;
    margin-left: 2rem;

    /* Remove any transition that causes layout shift */
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;

    /* Lock font rendering & animation */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: none !important;
    animation: none !important;
  }

  /* Text span inside the button */
  .e-n-menu-heading > li:last-child .e-n-menu-title .e-n-menu-title-text {
    font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-weight: 700 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: none !important;
    animation: none !important;
  }

  /* Hover state (no shift, no transform, no weight jump) */
  .e-n-menu-heading > li:last-child:hover .e-n-menu-title,
  .header-transparent .headroom:not(.headroom--not-top) .e-n-menu-heading > li:last-child:hover .e-n-menu-title {
    background-color: var(--e-global-color-73c022a) !important;
    border-color: var(--e-global-color-73c022a) !important;
    color: var(--e-global-color-4443d05) !important;
    font-weight: 700 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: none !important;
    animation: none !important;
  }

  .e-n-menu-heading > li:last-child:hover .e-n-menu-title .e-n-menu-title-text {
    color: var(--e-global-color-4443d05) !important;
    font-weight: 700 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: none !important;
    animation: none !important;
  }
}


/* =======================================================================
 Footer Menu - Vertical Accordion Style
========================================================================== */
/* Vertical footer menu layout */
#footer .elementor-widget-n-menu .e-n-menu-heading {
  background-color: transparent;
  box-shadow: none;
  padding: 0;
}
 /* Hide the "opened" icon (e.g., chevron-down) when the item is open */
 /* Hide .e-opened icon when accordion item is open */
#footer .e-accordion-item[open] .e-opened {
  display: none !important;
}

/* Hide the "closed" icon when item is open */
#footer .e-accordion-item[open] .e-closed {
  display: none !important;
}

/* Hide the "closed" icon when item is closed */
#footer .e-accordion-item:not([open]) .e-opened {
  display: none !important;
}

#footer a span {
  color: var(--e-global-color-4443d05)!important;
}

#footer a span:hover, .elementor-41 .elementor-element.elementor-element-5ff6724 a:hover {
  color: var(--e-global-color-4443d05)!important;
  font-weight: bold;
}

/* =======================================================================
 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: 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 {
    height: 90vh;
    min-height: 700px;
  }
  #splash {
    height: 70vh;
    min-height: 600px;
  }
}
@media (max-width: 992px) {
  #home-hero,
  #large-hero {
    height: 80vh;
    min-height: 600px;
  }
  #splash {
    height: 60vh;
    min-height: 600px;
  }
}
@media (max-width: 768px) {
  #home-hero,
  #large-hero {
    height: 65vh;
    min-height: 500px;
  }
  #splash {
    height: 50vh;
    min-height: 500px;
  }
}
@media (max-width: 576px) {
  #home-hero,
  #large-hero {
    height: 55vh;
    min-height: 450px;
    background-size: cover;
  }
  #splash {
    height: 55vh;
    min-height: 600px;
    background-size: cover;
  }
}

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

/* Medium + Small Page Heros */
#medium-hero,
#small-hero {
  width: 100%;
  background-repeat: no-repeat;
  object-fit: cover;
  background-position: center center;
  background-size: cover;
}
/* Desktop (1025px and above) */
@media (min-width: 1025px) {
  #medium-hero {
    max-height: 400px;
    min-height: 400px;
  }
   #small-hero {
    max-height: 300px;
    min-height: 300px;
  }
  #blog-hero {
    max-height: 550px;
    min-height: 450px;
  }
  /* 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) {
  #medium-hero {
    max-height: 400px;
    min-height: 400px;
  }
   #small-hero {
    max-height: 300px;
    min-height: 300px;
  }
  /* Blog Hero Img */
  .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) {
  #medium-hero {
    max-height: 340px;
    min-height: 340px;
  }
   #small-hero {
    max-height: 340px;
    min-height: 340px;
  }
}
/* Small mobile (below 480px) */
@media (max-width: 480px) {
  #medium-hero {
    max-height: 340px;
    min-height: 340px;
  }
  #medium-hero {
    max-height: 340px;
    min-height: 340px;
  }
}

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


/* =======================================================================
 Buttons
========================================================================== */
.wp-block-button__link {
  width: 100%!important; /* Or a specific percentage */
}

/*** Default Buttons ***/
.wp-block-button:not(.is-style-btn-underline) a, .elementor-kit-21991 .elementor-button {
	font-size:0.875rem;
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--e-global-color-4443d05);
	border: none;
	border-radius: 2px 2px 2px 2px;
	padding: 1rem 1.5rem 1rem 1.5rem;
	display: inline-block;
	line-height: 100%;
	text-align: center;
	transition: all .3s;
  margin-top: 2rem;
  background-color: var(--e-global-color-primary);
}
.wp-block-button:not(.is-style-btn-underline) a:hover,
.elementor-kit-21991 .elementor-button:hover {
  border: none;
  background-color: var(--e-global-color-73c022a);  /* dark primary Light */ 
  border-radius: 2px 2px 2px 2px;
  color: var(--e-global-color-4443d05);
}

.elementor-kit-8 button:hover, .elementor-kit-8 button:focus, .elementor-kit-8 input[type="button"]:hover, .elementor-kit-8 input[type="button"]:focus, .elementor-kit-8 input[type="submit"]:hover, .elementor-kit-8 input[type="submit"]:focus, .elementor-kit-8 .elementor-button:hover, .elementor-kit-8 .elementor-button:focus {
    border: none;
    border-radius: 0;
}

/* Wave Underline Buttons */
.elementor-button-info a.elementor-button,
.wp-block-button.is-style-btn-underline a, 
.elementor-cta__button.elementor-button {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: 0.875rem!important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 0 0 1.5rem 0 !important;
  background-color: transparent !important;
  color: var(--e-global-color-text) !important;
  border-bottom: none !important;
  border: none!important;
  transition: all .3s ease;
  margin-top: 1rem;
  display: inline-block;
  position: relative;
  width: auto !important;
}

/* Wave underline as ::after */
.elementor-button-info a.elementor-button::after,
.wp-block-button.is-style-btn-underline a::after, 
.elementor-cta__button.elementor-button::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  min-height: 100%; 
  height: 100%; /* Adjust wave height here */
  background-image: url('/wp-content/themes/breeze/assets/icons/wave-link.svg');
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: bottom left;
  pointer-events: none;
  transition: all .3s ease;
}

/* Hover: switch to hover wave */
.elementor-button-info a.elementor-button:hover::after,
.wp-block-button.is-style-btn-underline a:hover::after, 
.elementor-cta__button.elementor-button:hover::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/wave-link-hover.svg');
}

/* Hover: change wave + text color */
.elementor-button-info a.elementor-button:hover,
.wp-block-button.is-style-btn-underline a:hover, 
.elementor-cta__button.elementor-button:hover {
  color: var(--e-global-color-primary) !important; /* or your preferred hover color */
}


/*** Outline Buttons ***/
.btn-outline .elementor-widget-container .elementor-button-wrapper .elementor-button.elementor-button-link {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size:0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--e-global-color-text);
	border: 1px solid var(--e-global-color-text);
	border-radius: 2px 2px 2px 2px;
	padding: 1rem 1.5rem 1rem 1.5rem;
	display: inline-block;
	line-height: 100%;
	text-align: center;
	transition: all .3s;
  margin-top: 1rem;
  background-color: transparent!important;
}

.btn-outline .elementor-widget-container .elementor-button-wrapper .elementor-button.elementor-button-link:hover {
  background-color: var(--e-global-color-73c022a) !important;
  border: 1px solid var(--e-global-color-73c022a);
  color: var(--e-global-color-4443d05);
}

/*** Outline Buttons Menu ***/
.btn-outline.menu .elementor-widget-container .elementor-button-wrapper .elementor-button.elementor-button-link {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size:0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--e-global-color-text);
	border: 1px solid var(--e-global-color-text);
	border-radius: 2px 2px 2px 2px;
	padding: 1rem 1.5rem 1rem 1.5rem;
	display: inline-block;
	line-height: 100%;
	text-align: center;
	transition: all .3s;
  margin-top: 0;
  background-color: transparent!important;
}

.btn-outline.menu .elementor-widget-container .elementor-button-wrapper .elementor-button.elementor-button-link:hover {
  background-color: var(--e-global-color-73c022a) !important;
  color: var(--e-global-color-4443d05);
  border: 1px solid var(--e-global-color-73c022a);
}

/*** Outline Buttons White  ***/
.btn-outline.white .elementor-widget-container .elementor-button-wrapper .elementor-button.elementor-button-link {
	color: var(--e-global-color-4443d05);
	border: 1px solid var(--e-global-color-4443d05);
}

.btn-outline.white .elementor-widget-container .elementor-button-wrapper .elementor-button.elementor-button-link:hover {
  background-color: var(--e-global-color-73c022a) !important;
  color: var(--e-global-color-4443d05);
  border: 1px solid var(--e-global-color-73c022a);
}

.loadmore-btn {
  border: red solid 2px!important;
}


/* =======================================================================
Featured Box
========================================================================== */

/* Full width Featured Box */
#featured-box {
  width: 100vw;          /* span entire viewport */
  max-width: 100vw;      /* override container max-width */
  margin-left: calc(-50vw + 50%); /* pull it out of the container */
  position: relative;
}

/*** Icon Box ***/
.elementor-3575 .elementor-element .elementor-icon-box-wrapper {
  text-align: center;
  display: flex;
  flex-direction: row-reverse; /* icon goes AFTER the text */
  justify-content: center;
  align-items: center;
}
.elementor-3575 .elementor-element .elementor-icon-box-wrapper a {
    color: white!important;
}


/* =======================================================================
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 */
}
/* =======================================================================
Text + Media
========================================================================== */
.text-media img {
  border-radius: 0;
}
@media (min-width:992px) {
  .text-media img {
    border-radius: 3px;
  }
}

/* =======================================================================
Blog Cards - (Post Widget: Skin Cards - Masonry)
========================================================================== */
/* Post Card Grid Layout */
.elementor-posts .elementor-post__card {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto auto;
  grid-template-areas:
    "thumbnail"
    "badge"
    "title"
    "date";
  gap: 2rem;

  /* Background image settings */
  background-image: url('/wp-content/themes/breeze/assets/imgs/custom-bg.webp'); /* replace with your actual image path */
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* Assign grid areas */
.elementor-posts .elementor-post__card .elementor-post__meta-data {
  grid-area: date;
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* or center, depending on your design */
  gap: 30px;

  border-top: none;
  padding: 1rem 1.6rem 1.6rem 1.6rem;
  position: relative;
}

/* Add SVG icon before the content */
.elementor-posts .elementor-post__card .elementor-post__meta-data::before {
  content: '';
  display: block;
  width: 100%; /* adjust as needed */
  height: 12px; /* adjust as needed */
  background-image: url('/wp-content/themes/breeze/assets/icons/single-wave.svg'); /* replace with your actual path */
  background-repeat: no-repeat;
  background-size: contain;
}
.elementor-post__card .elementor-post__thumbnail__link {
  grid-area: thumbnail;
  margin-bottom: 0;
}
.elementor-post__card .elementor-post__badge {
  grid-area: badge;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0rem 1.6rem;
  gap: 0.5rem;
  margin: 0 auto!important;
  color: var(--e-global-color-text);
  letter-spacing: 2px;
  background-color: transparent;
  font-size: var(--e-global-typography-c6d21ea-font-size);
  line-height: var(--e-global-typography-c6d21ea-line-height);
  font-family: var(--e-global-typography-c6d21ea-font-family), Sans-serif;
}
.elementor-post__card .elementor-post__text {
  grid-area: title;
  margin-top:0 !important;
  padding-bottom: 0 !important;
}
/* Thumbnail image styling */
.elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail img {
  display: block !important;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Title styles */
.elementor-post__card .elementor-post__title {
  margin-top: 1rem;
  line-height: 1.2;
  margin-bottom: 0rem!important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  mask-image: linear-gradient(to right, black 98%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, black 98%, transparent 100%);
}


/* Post Tag */
.post-tags .elementor-widget-container .elementor-icon-list-items .elementor-icon-list-item {
  padding-left: 0!important;
}

/* Post a */
.elementor-post__title a {
  text-decoration: none;
}

/* Hover on Card Imgs */
/* Applies to all Elementor Post Cards */
.elementor-posts .elementor-post__card {
  position: relative !important;
  overflow: hidden !important;
}

/* Image inside the card */
.elementor-posts .elementor-post__card img {
  display: block !important;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease !important;
  transform-origin: center center !important;
}

/* Hover zoom effect */
.elementor-posts .elementor-post__card:hover img {
  transform: scale(1.1) !important;
}


/* =======================================================================
Related Cards (Post Widget: Skin Cards - Grid)
========================================================================== */
/* Related Cards */
.related-cards {
  height: fit-content;
}
.related-cards .elementor-posts .elementor-post__card {
  margin-bottom: -20px !important;
  height: auto;
}

@media (max-width:768px) {
  .related-cards .elementor-posts .elementor-post__card {
    margin-bottom: 0.4rem !important;
    height: fit-content;
  }
}
.related-cards .elementor-posts-container.elementor-posts.elementor-posts--skin-cards.elementor-grid.elementor-has-item-ratio {
    gap: 2rem!important;
}
.related-cards .elementor-post__card {
  position: relative !important;
  overflow: hidden !important;
}

.related-cards .elementor-post__card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  transform-origin: center center !important;
  transition: transform 0.4s ease !important;
}

.related-cards .elementor-post__card:hover img {
  transform: scale(1.1) !important;
}

/* post img */
.elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail img {
    display: block !important;
    width: 100%;
    height: auto;
    left: unset !important;
    top: unset !important;
    transform: none!important;
}
/* Full height */
.e-con.e-flex>.e-con-inner {
    flex-wrap: nowrap;
}
/* Post Image Link */
.elementor-post__card .elementor-post__thumbnail__link {
  grid-area: thumbnail;
  margin-bottom: 0!important;
}


/* =======================================================================
Menu Cards
========================================================================== */
.menu-card h3::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url('/wp-content/themes/breeze/assets/icons/chevron-right-light.svg');
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 0.5em;
  vertical-align: middle;
}

/* =======================================================================
Courses Cards
========================================================================== */
.card.card-promo .icon-text p {
  margin-bottom: 0;
}
.elementor-icon-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.card .card-promo {
  min-height: 500px;
  max-height: 600px;
  height: auto;
}

/* Responsive heights */
@media (max-width: 1200px) {
.card .card-promo {
  min-height: 500px;
  max-height: 500px;
  height: auto;
}
}
@media (max-width: 992px) {
.card .card-promo {
  min-height: 400px;
  max-height: 450px;
  height: auto;
}
}
@media (max-width: 768px) {
.card .card-promo {
  min-height: 400px;
  max-height: 400px;
  height: 400px;
}
}
@media (max-width: 576px) {
  .card .card-promo {
  min-height: 400px;
  max-height: 400px;
  height: 400px;
}
}

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

/* =======================================================================
   Gallery - Editor
========================================================================== */
.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;
}

/* =======================================================================
   Accordions - Editor
========================================================================== */
.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;
}

/* accordion bg*/
.plethoraplugins-accordion.plethoraplugins-theme__minimal.plethoraplugins-theme__basic, .plethoraplugins-accordion.plethoraplugins-theme__minimal.plethoraplugins-theme__tabby {
    background-color: var(--e-global-color-43bc68c);
    color: var(--pds-tabs-content-text-color);
    margin: 2rem auto;
    padding: 2rem 3rem 3rem 3rem; 
}
/* accordion title block */
.plethoraplugins-accordion.plethoraplugins-theme__minimal.plethoraplugins-theme__basic .pds-accordion__title {
   background: none!important;
   color: var(--n-accordion-title-normal-color);
    cursor: pointer;
    display: flex;
    flex-direction: row;
    flex-grow: var(--n-menu-title-flex-grow);
    gap: var(--n-accordion-icon-gap);
    justify-content: var(--n-accordion-title-justify-content);
    list-style: none;
    padding: var(--n-accordion-padding);
}
/* accordion title */
span.pds-accordion__heading {
  font-family: var(--e-global-typography-a73f9a2-font-family), Sans-serif;
  font-weight: var(--e-global-typography-a73f9a2-font-weight);
  line-height: var(--e-global-typography-a73f9a2-line-height);
  font-size: var(--e-global-typography-a73f9a2-font-size);
}
.plethoraplugins-accordion.plethoraplugins-theme__minimal .pds-accordion__item {
  padding: 1rem 0;
  border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-color: var(--e-global-color-a0e2cb5);
}


/* Hide the original SVG arrow */
.pds-accordion__icon svg {
  display: none !important;
}

/* Default icon: plus */
.pds-accordion__icon {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url('/wp-content/themes/breeze/assets/icons/plus.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
}

/* Open state: minimize icon */
.pds-js-accordion-controller[aria-expanded="true"] .pds-accordion__icon {
  background-image: url('/wp-content/themes/breeze/assets/icons/minimize.svg');
}

/* Full-width image block */
@media (max-width: 567px) {
    .plethoraplugins-accordion {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw!important;
    margin-right: -50vw!important;
    box-sizing: border-box;
  }
}

/* =======================================================================
  Accordion - Trips - Elementor
========================================================================== */
/* Make the header container flex so icon + text are aligned */
.trip-accordion .e-n-accordion-item-title-header {
  display: flex;
  align-items: center;
}

/* Add icon before the header (not the outer summary tag) */
.trip-accordion .e-n-accordion-item-title-header::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 12px;
  flex-shrink: 0;
}

/* Individual icons */
#accordion-icon-1 .e-n-accordion-item-title-header::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/accordion/1-icon.svg');
}
#accordion-icon-2 .e-n-accordion-item-title-header::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/accordion/2-icon.svg');
}
#accordion-icon-3 .e-n-accordion-item-title-header::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/accordion/3-icon.svg');
}
#accordion-icon-4 .e-n-accordion-item-title-header::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/accordion/4-icon.svg');
}
#accordion-icon-5 .e-n-accordion-item-title-header::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/accordion/5-icon.svg');
}
#accordion-icon-6 .e-n-accordion-item-title-header::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/accordion/6-icon.svg');
}
#accordion-icon-7 .e-n-accordion-item-title-header::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/accordion/7-icon.svg');
}
#accordion-icon-8 .e-n-accordion-item-title-header::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/accordion/8-icon.svg');
}
.trip-accordion blockquote {
    margin-left:0;
  padding-left: 0;
}
.trip-accordion blockquote p {
  font-size: var(--e-global-typography-c6d21ea-font-size);
  line-height: var(--e-global-typography-c6d21ea-line-height);
  font-family: var(--e-global-typography-c6d21ea-font-family);
  font-weight: var(--e-global-typography-c6d21ea-font-weight);
  margin-left:0;
  padding-left: 0;
}


/* =======================================================================
   IG Feed
========================================================================== */
button.eapps-instagram-feed-posts-grid-load-more.es-load-more-button.eapps-instagram-feed-posts-grid-load-more-visible {
    display: none;
}

/* =======================================================================
  Slider - Elementor
========================================================================== */
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 40px!important;
    left: 0;
    width: 100%;
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: 25%;
} 

/* =======================================================================
  Slider - Trips 
========================================================================== */
#trips-slider .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 50px !important;
}
.trips-slider .swiper-slide {
  margin: auto 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
  opacity: 0;
  transform: scale(0.8);
  pointer-events: none;
  padding: 2rem;
}

.trips-slider .swiper-slide.swiper-slide-active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
  z-index: 2;
}

.trips-slider .swiper-slide .swiper-slide-inner {
  position: relative;
  transform: rotate(-5deg);
  width: 100%;
  height: 100%;
  line-height: inherit;
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
  overflow: hidden;
}

/* Add the SVG as a border using ::before */
.trips-slider .swiper-slide .swiper-slide-inner::after {
  content: "";
  position: absolute;
  top: 0px;
  left: -3px;
  bottom: 0px;
  right: -3px;
  background: url('/wp-content/themes/breeze/assets/imgs/img-mask-straight.png') no-repeat center;
  background-size: cover;
  pointer-events: none;
  z-index: 2;
}

.trips-slider .swiper-slide .swiper-slide-inner .swiper-slide-image {
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 6px;
}

.trips-slider .swiper-slide.swiper-slide-active {
  justify-content: center;
  align-items: center;
  display: flex;
}

.trips-slider .swiper-wrapper {
  margin-bottom: 3rem;
}

/* =======================================================================
  Gallery Masonry  - Editor
========================================================================== */
.wp-block-gallery {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.is-style-masonry.columns-default {
   -webkit-columns: 3; /* Chrome, Safari, Opera */
   -moz-columns: 3; /* Firefox */
   columns: 3; /* Standard syntax */
}
.is-style-masonry{
   display:block !important;
}
.is-style-masonry .wp-block-image{
   width:100% !important;
   margin-bottom:var(--wp--style--unstable-gallery-gap) !important;
}
.is-style-masonry.columns-1 {
   -webkit-columns: 1; /* Chrome, Safari, Opera */
   -moz-columns: 1; /* Firefox */
   columns: 1; /* Standard syntax */
}
.is-style-masonry.columns-2 {
   -webkit-columns: 2; /* Chrome, Safari, Opera */
   -moz-columns: 2; /* Firefox */
   columns: 2; /* Standard syntax */
}
.is-style-masonry.columns-3 {
   -webkit-columns: 3; /* Chrome, Safari, Opera */
   -moz-columns: 3; /* Firefox */
   columns: 3; /* Standard syntax */
}
.is-style-masonry.columns-4 {
   -webkit-columns: 4; /* Chrome, Safari, Opera */
   -moz-columns: 4; /* Firefox */
   columns: 4; /* Standard syntax */
}
.is-style-masonry.columns-5 {
   -webkit-columns: 5; /* Chrome, Safari, Opera */
   -moz-columns: 5; /* Firefox */
   columns: 5; /* Standard syntax */
}

.is-style-masonry.columns-6 {
   -webkit-columns: 6; /* Chrome, Safari, Opera */
   -moz-columns: 6; /* Firefox */
   columns: 6; /* Standard syntax */
}
.is-style-masonry.columns-7 {
   -webkit-columns: 7; /* Chrome, Safari, Opera */
   -moz-columns: 7; /* Firefox */
   columns: 7; /* Standard syntax */
}
.is-style-masonry.columns-8 {
   -webkit-columns: 8; /* Chrome, Safari, Opera */
   -moz-columns: 8; /* Firefox */
   columns: 8; /* Standard syntax */
}

/* Default: 3 columns (already handled by .columns-3) */


/* On mobile: switch to 1 column */
@media (max-width: 567px) {
  .wp-block-gallery.columns-3 {
    grid-template-columns: 1fr;
    position: relative;
    width: 100vw;
    max-width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw!important;
    margin-right: -50vw!important;
    box-sizing: border-box;
  }
}


/* =======================================================================
  Splash Full WIdth - Editor
========================================================================== */
/* Full-width image block */
.wp-block-image.alignfull {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  box-sizing: border-box;
}

.wp-block-image.alignfull img {
  display: block;
  width: 100%;
  height: auto;
}

/* Default figcaption styles (desktop) */
.wp-block-image.alignfull figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-bottom: 4rem;
  z-index: 2;
  box-sizing: border-box;
  text-align: left;

  /* Typography */
  color: #fff;
  font-weight: 700;
  font-style: italic;
  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);
  font-family: var(--e-global-typography-c297f56-font-family), Sans-serif;

  /* Simulated containment */
  padding-left: calc((100vw - 1140px) / 2);
  padding-right: calc((100vw - 1140px) / 2);
}

/* Larger desktop: 1440px container */
@media (min-width: 1440px) {
  .wp-block-image.alignfull figcaption {
    padding-left: calc((100vw - 1440px) / 2);
    padding-right: calc((100vw - 1440px) / 2);
    padding-bottom: 4rem;
  }
}

/* Tablet LG (1024px–1439px): add 3rem padding */
@media (max-width: 1439px) and (min-width: 1024px) {
  .wp-block-image.alignfull figcaption {
    padding-left: 3rem;
    padding-right: 3rem;
    padding-bottom: 4rem;
  }
}

/* Tablet SM (768px–1023px): add 2rem padding */
@media (max-width: 1023px) and (min-width: 768px) {
  .wp-block-image.alignfull figcaption {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 3rem;
  }
}

/* Mobile (under 768px): add 2rem padding */
@media (max-width: 767px) {
  .wp-block-image.alignfull figcaption {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 2rem;
  }
}

/* =======================================================================
  Media & Text — Layout
========================================================================== */
/* 50/50 split for Media & Text */
.wp-block-media-text {
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 50/50 */
  grid-template-rows: auto;
  gap: 4rem;
  margin: 3rem 0;
  align-items: stretch;
}

.wp-block-media-text > .wp-block-media-text__content {
  padding: 0;
  min-width: 0;                 /* prevents overflow from long content */
}

/* Keep the order toggle working (media left/right) */
.wp-block-media-text { grid-template-areas: "media content"; }
.wp-block-media-text .wp-block-media-text__media { grid-area: media; }
.wp-block-media-text .wp-block-media-text__content { grid-area: content; }
.wp-block-media-text.has-media-on-the-right { grid-template-areas: "content media"; }

/* Mobile: stack (recommended). 
   If you want 50/50 even on phones, remove this block. */
@media (max-width: 767.98px) {
  .wp-block-media-text {
    grid-template-columns: 1fr;
    grid-template-areas:
      "media"
      "content";
    gap: 2rem;
  }
}

/* =======================================================================
  Media & Text — Force 4:3 media aspect ratio
========================================================================== */
.wp-block-media-text__media {
  aspect-ratio: 4 / 3;/* 4:3 box; height derives from width */
  overflow: hidden;/* crop overflow to keep the box clean */
}

/* Make media fill/crop inside the 4:3 box */
.wp-block-media-text__media > img,
.wp-block-media-text__media > picture > img,
.wp-block-media-text__media > video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

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

@media (max-width: 567px) {
  /* Full-bleed media while keeping 4:3 */
  .wp-block-media-text__media {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    box-sizing: border-box;
  }
  .wp-block-media-text__media > img,
  .wp-block-media-text__media > picture > img,
  .wp-block-media-text__media > video {
    display: block;
  }
  .wp-block-media-text {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.elementor-widget-container p {
  max-width: 1140px !important;
}



/* =======================================================================
  CTA - Editor
========================================================================== */

#cta h3 {
  margin-bottom: 0;
}

/* =======================================================================
   Trip Advisor Reviews
========================================================================== */
.es-review-content-container {
  gap: 1rem;
}

.es-review-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-size-adjust: 100%;
    font-size: 16px;
    line-height: 23px;
    color: rgb(17, 17, 17);
    flex-grow: 1;
    gap: 1rem;
}
.es-text-shortener-control {
  margin-top: 1rem;
}

.es-review-avatar-container {
  background-color: transparent!important;
  border: none!important;
  padding:0!important;
  width: 30px!important;
  height: 30px!important;
}
.es-review-author-block-container {
  gap: .5rem!important;
}

/* =======================================================================
  Trip Filters
========================================================================== */
/* Trip page taxonomies */
.jet-listing.jet-listing-dynamic-terms {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
}

/* Duration */
.select-filter.duration select.jet-select__control {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
  background-image: 
    url('/wp-content/themes/breeze/assets/icons/trips/duration-icon.svg'),
    url('/wp-content/themes/breeze/assets/icons/trips/down-arrow.svg');
  background-repeat: no-repeat, no-repeat;
  background-position: 1rem center, right 1rem center;
  background-size: 1.2rem, 1.2rem;
}

/* Skills */
.select-filter.skills select.jet-select__control {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
  background-image: 
    url('/wp-content/themes/breeze/assets/icons/trips/skills-icon.svg'),
    url('/wp-content/themes/breeze/assets/icons/trips/down-arrow.svg');
  background-repeat: no-repeat, no-repeat;
  background-position: 1rem center, right 1rem center;
  background-size: 1.2rem, 1.2rem;
}

/* Period */
.select-filter.period select.jet-select__control {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
  background-image: 
    url('/wp-content/themes/breeze/assets/icons/trips/period-icon.svg'),
    url('/wp-content/themes/breeze/assets/icons/trips/down-arrow.svg');
  background-repeat: no-repeat, no-repeat;
  background-position: 1rem center, right 1rem center;
  background-size: 1.2rem, 1.2rem;
}
.ng-star-inserted a {
  border: solid red 2px!important;
}