@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//unexpectedupgrade.eu/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.1.1") format("woff2");
}

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//unexpectedupgrade.eu/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//unexpectedupgrade.eu/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//unexpectedupgrade.eu/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//unexpectedupgrade.eu/wp-content/plugins/woocommerce/assets/fonts/star.svg#star") format("svg");
}

@font-face {
	font-family: "WooCommerce";
	font-weight: 400;
	font-style: normal;
	src: url("//unexpectedupgrade.eu/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//unexpectedupgrade.eu/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//unexpectedupgrade.eu/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//unexpectedupgrade.eu/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 17px;
	--wd-title-font-weight: 600;
	--wd-title-color: #242424;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-primary-color: rgb(26,224,251);
	--wd-alternative-color: rgb(20,197,221);
	--wd-link-color: rgb(26,224,251);
	--wd-link-color-hover: rgb(20,197,221);
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: #83b735;
	--btn-accented-bgcolor-hover: #74a32f;
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
}
.wd-popup.wd-age-verify {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
	--wd-popup-width: 800px;
}
.woodmart-woocommerce-layered-nav .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title {
	background-color: #0a0a0a;
	background-image: url(http://unexpectedupgrade.eu/wp-content/uploads/2025/09/newsletter_BG.jpg);
	background-size: cover;
	background-position: center center;
}
.wd-footer {
	background-color: #ffffff;
	background-image: none;
}
.wd-popup.popup-quick-view {
	--wd-popup-width: 920px;
}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-bottom-active: -1px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
--btn-accented-box-shadow-hover: inset 0 -2px 0 rgba(0, 0, 0, .15);
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
[data-vc-full-width]:not([data-vc-stretch-content]),
:is(.vc_section, .vc_row).wd-section-stretch {
padding-left: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
padding-right: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
}
}


/* Make sure the video wrapper doesn't swallow clicks */
.s9-vimeo-wrap,
.vimeo-video {
  position: relative;
  pointer-events: none; /* let clicks pass through */
}

/* Allow the iframe to receive clicks if needed */
.s9-vimeo-wrap iframe {
  pointer-events: auto;
}

/* MOST IMPORTANT: make the toggle clickable and above everything */
.s9-vimeo-toggle {
  pointer-events: auto !important;
  z-index: 99999 !important;
  position: absolute; /* already there, but reaffirming */
}
.s9-vimeo-toggle {
  z-index: 9999 !important;
  pointer-events: auto !important;
}

.s9-vimeo-wrap, .vimeo-video {
  pointer-events: none; /* ensure the container doesn’t block events */
}

.s9-vimeo-wrap > iframe, .s9-vimeo-wrap > iframe + button {
  pointer-events: auto;
}
.s9-vimeo-toggle { right:12px; bottom:12px; padding:8px; }
.s9-vimeo-toggle svg { width:20px; height:20px; }
/* ===== Auto-detect WPBakery rows with YouTube video background ===== */
.vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] {
  position: relative;
  overflow: hidden;
  /* Desktop/tablet height target; uses dynamic viewport to avoid iOS URL-bar jumps */
  min-height: clamp(420px, 56.25vw, 90dvh);
}

/* Ensure the video layer fills the row and is center-able */
.vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] .vc_video-bg,
.vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] .vc_video-bg iframe {
  position: absolute !important;
  inset: 0 !important;
  border: 0 !important;
}

/* WPBakery/YouTube tend to inject inline widths, margins—neutralise them */
.vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] .vc_video-bg iframe {
  max-width: 10000% !important;
  margin: 0 !important;
}

/* ===== Desktop & wide viewports =====
   Keep cinematic cover (accepts some crop), but centered */
@media (min-aspect-ratio: 16/9) {
  .vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] .vc_video-bg iframe {
    /* Scale by height so width can overflow (cropped left/right) */
    height: 100% !important;
    width: calc(100vh * (16 / 9)) !important;  /* 177.78vh */
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* ===== Mobile & tall screens (iPhone 15 Pro, etc.) =====
   Force full 16:9 frame visible — NO side cropping */
@media (max-aspect-ratio: 16/9) {
  .vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] {
    /* Use width-based height to perfectly fit 16:9 without guessing */
    min-height: 56.25vw; /* 9/16 of width */
    background: #000;    /* optional letterbox color */
  }
  .vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] .vc_video-bg {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] .vc_video-bg iframe {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important; /* hard-center the frame */
  }
}

/* ===== Additional hard guard for phones (narrow screens) ===== */
@media (max-width: 820px) {
  .vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] {
    min-height: 56.25vw; /* guarantees exact 16:9 box based on width */
  }
  .vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"] .vc_video-bg iframe {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
  }
}

/* If you had padding on the row to “fake” height, kill it on video rows */
.vc_row.vc_video-bg-container[data-vc-video-bg*="youtube.com"].vc_row-no-padding {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Force the hero row itself to be 16:9 */
.hero-16x9.vc_video-bg-container {
  position: relative;
  aspect-ratio: 16 / 9;
  height: auto;                       /* let aspect-ratio drive height */
  max-height: 90vh;                   /* don't exceed a viewport height */
  min-height: clamp(360px, 56.25vw, 70vh); /* sensible floor */
  overflow: hidden;
}

/* Fallback for ancient browsers without aspect-ratio */
@supports not (aspect-ratio: 1) {
  .hero-16x9.vc_video-bg-container { height: auto; }
  .hero-16x9.vc_video-bg-container::before {
    content: ""; display: block; padding-top: 56.25%; /* 9/16 */
  }
}

/* Make the youtube iframe fill the box; no mouse capture */
.hero-16x9 .vc_video-bg,
.hero-16x9 .vc_video-bg iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none;
}

/* Letterbox color (bars) if the embed doesn’t perfectly fit */
.hero-16x9 .vc_video-bg { background: #000; } /* change to your brand bg if preferred */

/* === Related posts: enforce identical 5:3 thumbnails === */
.related-posts-slider .entry-thumbnail,
.related-posts-slider .entry-thumbnail .post-img-wrapp {
  position: relative;
  display: block;
  margin: 0;                 /* remove any theme spacing variance */
  overflow: hidden;          /* hide cropped overflow */
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  aspect-ratio: 5 / 3;       /* the uniform target */
}

/* Fallback for older browsers without aspect-ratio */
.related-posts-slider .entry-thumbnail .post-img-wrapp::before {
  content: "";
  display: block;
  padding-top: 60%;          /* 5:3 = 60% */
}

/* Make the anchor & image fill the box exactly */
.related-posts-slider .entry-thumbnail .post-img-wrapp > a,
.related-posts-slider .entry-thumbnail .post-img-wrapp > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* Force the image to crop uniformly */
.related-posts-slider .entry-thumbnail img {
  object-fit: cover !important;
  object-position: center center !important;
  max-width: none !important;   /* ignore intrinsic width attrs */
  height: 100% !important;
  width: 100% !important;
}

/* If your theme injects masks/overlays, keep them inside the same box */
.related-posts-slider .post-image-mask {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.related-posts-slider .wd-nav-pagin {
    display: none;
}
/* ================================
   Related posts: one-row, uniform cards
   ================================ */

/* 1) Container behaves like a single-row strip */
.related-posts-slider .wd-carousel-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;          /* single row only */
  gap: var(--wd-gap-lg, 20px);
  transform: none !important;            /* neutralize swiper translate */
  overflow: hidden;                      /* hide overflowed slides */
}

/* 2) Desktop: show exactly 4 cards in the single row */
@media (min-width: 1025px){
  .related-posts-slider .wd-carousel-item {
    flex: 0 0 calc((100% - (var(--wd-gap-lg,20px) * 3)) / 4) !important;
    max-width: calc((100% - (var(--wd-gap-lg,20px) * 3)) / 4) !important;
    width: auto !important;              /* override inline widths */
  }
}

/* Tablet: 2 cards; Mobile: 1 card */
@media (max-width: 1024px){
  .related-posts-slider .wd-carousel-item {
    flex: 0 0 calc((100% - var(--wd-gap-lg,20px)) / 2) !important;
    max-width: calc((100% - var(--wd-gap-lg,20px)) / 2) !important;
    width: auto !important;
  }
}
@media (max-width: 768px){
  .related-posts-slider .wd-carousel-item {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: auto !important;
  }
}

/* 3) Hide navigation dots & arrows for related blocks */
.related-posts-slider .wd-nav-arrows,
.related-posts-slider + .wd-nav-pagin-wrap {
  display: none !important;
}

/* 4) Uniform imagery: 5:3 crop everywhere */
.related-posts-slider .wd-post .entry-thumbnail .post-img-wrapp {
  aspect-ratio: 5 / 3;
  overflow: hidden;
}
.related-posts-slider .wd-post .entry-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 5) Consistent card heights (optional but tidy) */
.related-posts-slider .wd-post .article-inner{
  display: flex;
  flex-direction: column;
  height: 100%;
}
.related-posts-slider .wd-post .article-body-container{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.related-posts-slider .wd-post .read-more-section{
  margin-top: auto;
}

/* (Optional) reduce meta/social noise in related cards */
.related-posts-slider .wd-post .wd-entry-meta,
.related-posts-slider .wd-post .hovered-social-icons{
  display: none;
}
/* Hide dots everywhere a related-posts block appears */
.related-posts-slider + .wd-nav-pagin-wrap { display: none !important; }

/* One-row layout is from earlier CSS (keep that). Below are the visual tweaks. */

/* Fix clipped bottom line/shadow: don't clip the card container */
.related-posts-slider .wd-post.blog-style-bg .article-inner{
  border-radius: 10px;
  overflow: visible;                 /* was hidden; let shadow/border show */
  box-shadow: var(--card-shadow, 0 1px 6px rgba(0,0,0,.08));
  border: 1px solid rgba(0,0,0,.06);
}

/* Round only the image top corners so it still looks neat */
.related-posts-slider .wd-post .entry-thumbnail .post-img-wrapp{
  aspect-ratio: 5 / 3;               /* keep uniform crop */
  overflow: hidden;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

/* Title smaller & tighter */
.related-posts-slider .wd-post .wd-entities-title {
  font-size: 18px;                   /* was larger; drop a notch */
  line-height: 1.3;
  margin: 10px 16px 6px;             /* less vertical space */
  text-align: center;
}

/* Body spacing & shorter excerpt */
.related-posts-slider .wd-post .article-body-container{
  gap: 8px;
  padding: 0 16px 14px;
}
.related-posts-slider .wd-post .wd-post-desc{
  font-size: 14px;
  line-height: 1.5;
  color: var(--wd-text-color);
  display: -webkit-box;
  -webkit-line-clamp: 3;             /* clamp to 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 0;                     /* allow card to shrink */
}

/* Make the button a bit smaller to reduce overall height */
.related-posts-slider .wd-post .read-more-section .more-link{
  --btn-padding: 10px 18px;
  --btn-font-size: 12px;
  margin-top: 10px;
}

/* Ensure the card uses height efficiently (button pinned to bottom, but tighter) */
.related-posts-slider .wd-post .article-inner{
  display: flex;
  flex-direction: column;
  height: 100%;
}
.related-posts-slider .wd-post .read-more-section{ margin-top: auto; }

/* If any residual dot containers render elsewhere, nuke them just in case */
.related-posts-slider .wd-nav-arrows,
.related-posts-slider .wd-carousel-container .wd-nav-pagin-wrap {
  display: none !important;
}

/* Container under the title */
.s9-post-header-logos {
  padding: 16px 0 20px; /* top/bottom padding */
}

/* Center & wrap logos nicely */
.s9-post-header-logos__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px 24px;         /* row/column spacing */
  flex-wrap: wrap;
}

/* Each logo tile */
.s9-post-header-logos__item {
  flex: 0 0 auto;
  max-width: 160px;       /* cap width so big logos don’t dominate */
}

/* Images: keep aspect, optionally white tile background for consistency */
.s9-post-header-logos__item img {
  display: block;
  max-height: 48px;       /* uniform height across logos */
  width: auto;
  height: auto;
  object-fit: contain;
  padding: 6px 10px;      /* optional breathing room */
  border-radius: 8px;     /* optional rounding */
}
@media (max-width: 600px){
  .s9-post-header-logos__item img { max-height: 40px; }
}
.wd-post-meta {
display: none!important;
}

/* Ensure transparent PNGs also render on white (belt + braces) */
.about-gallery .wd-gallery-item img {
  background: #fff!important;
}

/* If the carousel applies overflow/clip shadows, give the slide the same white */
#gallery_523 .wd-gallery-item {
  background: #fff;              /* optional, keeps edges white during transitions */
  border-radius: 10px;
}
/* 1) Kill masonry positioning & fixed height */
.wd-blog-holder.wd-masonry {
  position: static !important;
  height: auto !important;          /* override inline height */
}

/* 2) Use a simple CSS Grid instead of absolute layout */
.wd-blog-holder.wd-masonry.wd-grid-f-col {
  display: grid !important;
  grid-template-columns: repeat(var(--wd-col-lg, 3), 1fr);
  gap: var(--wd-gap-lg, 20px);
  margin: 0;                        /* remove negative margins from flex helper */
  padding: 0;
}

/* 3) Reset each item from absolute to normal flow */
.wd-blog-holder.wd-masonry .wd-post {
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;             /* grid handles spacing */
  width: auto !important;
  max-width: none !important;
}

/* 4) Keep responsive column counts driven by theme vars */
@media (max-width: 1024px) {
  .wd-blog-holder.wd-masonry.wd-grid-f-col {
    grid-template-columns: repeat(var(--wd-col-md, 3), 1fr);
    gap: var(--wd-gap-md, var(--wd-gap-lg, 20px));
  }
}
@media (max-width: 768.98px) {
  .wd-blog-holder.wd-masonry.wd-grid-f-col {
    grid-template-columns: repeat(var(--wd-col-sm, 1), 1fr);
    gap: var(--wd-gap-sm, 10px);
  }
}

/* 5) (Optional) Make thumbnails a consistent height for a neater grid */
.wd-blog-holder.wd-masonry .entry-thumbnail img {
  width: 100%;
  aspect-ratio: 7 / 5;   /* matches your 700x500 crop */
  object-fit: cover;
  display: block;
}

/* 6) (Optional) Make each card the same visual height if desired */
.wd-blog-holder.wd-masonry .wd-post .article-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.wd-blog-holder.wd-masonry .wd-post .article-body-container {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
}
.wd-blog-holder.wd-masonry .wd-post .read-more-section {
  margin-top: auto;  /* push button to bottom for consistent card layout */
}
#sib_signup_form_1 input.sib-default-btn {
    display: inline-block;
    height: 44px;
    padding: 0 22px;
    line-height: 44px;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
    background-color: #14C5DD !important;
    color: #fff;
    border: none;
    transition: background 0.2s, color 0.2s;
}
/* Wrap background behind all fields */
#sib_signup_form_1 .sib_signup_box_inside_1 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  margin: 0 auto;
  padding: 15px 25px;
  background: rgba(255, 255, 255, 0.0); /* semi-transparent white */
  border-radius: 10px;

  /* Remove the blur */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;

  /* Optional: add subtle border or shadow for contrast */
  border: none;
  box-shadow: none;
}

/* Remove default p spacing */
#sib_signup_form_1 .sib_signup_box_inside_1 p {
  margin: 0;
}

/* Hide labels (optional) */
#sib_signup_form_1 label.sib-NAME-area,
#sib_signup_form_1 label.sib-email-area {
  display: none;
}

/* Input styling */
#sib_signup_form_1 input.sib-NAME-area,
#sib_signup_form_1 input.sib-email-area {
  display: inline-block;
  width: auto;
  min-width: 220px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
}

/* Button styling */

#sib_signup_form_1 input.sib-default-btn:hover {
  background-color: #14C5DD;
  color: #ccc;
}

/* Mobile fallback */
@media (max-width: 640px) {
  #sib_signup_form_1 .sib_signup_box_inside_1 {
    flex-wrap: wrap;
    gap: 10px 8px;
  }

  #sib_signup_form_1 input.sib-NAME-area,
  #sib_signup_form_1 input.sib-email-area,
  #sib_signup_form_1 input.sib-default-btn {
    width: 100%;
    min-width: 0;
  }
}
/* Force consistent height and align Read More button at bottom */
.blog-design-masonry .article-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.blog-design-masonry .article-body-container {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Make the title take up remaining space and push button down */
.blog-design-masonry .wd-entities-title {
  flex-grow: 1;
}

/* Align the read-more section to bottom */
.blog-design-masonry .read-more-section {
  margin-top: auto;
  padding-top: 10px; /* adjust if needed */
}

/* Optional: ensure consistent padding/spacing for better visual balance */
.blog-design-masonry .article-body-container {
  padding-bottom: 15px;
}

/* If you see overflow clipping issues, add this */
.blog-design-masonry .wd-post {
  height: 100%;
}
/* Equalize Woodmart blog-card body height inside carousels */
.wd-carousel-container .wd-carousel-item{ display:flex; } /* allow the card to stretch */
.wd-carousel-container .wd-post.blog-post-loop{ display:flex; flex-direction:column; width:100%; }
.wd-carousel-container .wd-post .article-inner{ display:flex; flex-direction:column; height:100%; }
.wd-carousel-container .wd-post .entry-header{ flex:0 0 auto; }

/* pin the button at the bottom of the card */
.wd-carousel-container .wd-post .read-more-section{ margin-top:auto; }
@media (min-width: 1025px) {
    .wd-nav-arrows.wd-hover-1.wd-pos-sep .wd-prev {
        transform: translateX(10px)!important;
			    padding-right: 15px!important;
    }
}
@media (min-width: 1025px) {
    .wd-nav-arrows.wd-hover-1.wd-pos-sep .wd-next {
        transform: translateX(-10px)!important;
				padding-left: 15px!important;
    }
}
@media (min-width: 1025px) {
    .wd-nav-arrows.wd-hover-1.wd-pos-sep:hover .wd-prev:hover {
        transform: translateX(-5px)!important;
    }
}
@media (min-width: 1025px) {
    .wd-nav-arrows.wd-hover-1.wd-pos-sep:hover .wd-next:hover {
        transform: translateX(5px)!important;
    }
}
@media (min-width: 1025px) {
    .wd-nav-arrows[class*="wd-hover"].wd-pos-sep .wd-btn-arrow {
        opacity: 1!important;
        pointer-events: none;
    }
}
.s9-dests > .s9-arrow {
    align-items: center!important;
    justify-content: center!important;
    width: var(--wd-arrow-width, var(--wd-arrow-size, 50px))!important;
    height: var(--wd-arrow-height, var(--wd-arrow-size, 50px))!important;
    line-height: 1!important;
    color: var(--wd-arrow-color, var(--color-gray-800))!important;
    background: var(--wd-arrow-bg, unset)!important;
    box-shadow: var(--wd-arrow-shadow, unset)!important;
    border: var(--wd-arrow-brd, unset) var(--wd-arrow-brd-color, unset)!important;
    border-radius: var(--wd-arrow-radius, unset)!important;
    cursor: pointer!important;
    transition: all .25s ease!important;
}
.s9-dests > .s9-arrow:hover {
    color: var(--wd-arrow-color-hover, var(--color-gray-500))!important;
    background: var(--wd-arrow-bg-hover, var(--wd-arrow-bg))!important;
    border-color: var(--wd-arrow-brd-color-hover, var(--wd-arrow-brd-color))!important;
}
/* Cards keep Woodmart’s look */
.s9-dests-list .wd-post {
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  border-radius: 6px;
  overflow: hidden;
  transition: transform .2s ease;
}
.s9-dests-list .wd-post:hover { transform: translateY(-3px); }

/* Carousel layout */
.s9-dests.s9-carousel .s9-dests-list {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  gap: 20px;
}
.s9-dests.s9-carousel .s9-dests-list::-webkit-scrollbar { display:none; }

/* Arrow buttons styled like Woodmart */
.s9-dests-nav {
  position: relative;
  margin-top: 15px;
  text-align: center;
}
.s9-arrow {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  margin: 0 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
  cursor: pointer;
  transition: background .2s;
}
.s9-arrow:hover { background: #f3f3f3; }
.s9-arrow-inner {
  width: 10px; height: 10px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(45deg);
}
.s9-prev .s9-arrow-inner { transform: rotate(-135deg); }

/* Some Woodmart skins add max-height rules; neutralize in our scope */
[data-s9-wd] .entry-thumbnail img {
  max-height: none !important;
}
[data-s9-wd]:hover .wd-nav-arrows {
  opacity: 1;
  visibility: visible;
}

/* Make sure arrows can be clicked */
[data-s9-wd] .wd-nav-arrows .wd-btn-arrow {
  pointer-events: auto;
}
s9-loadmore-wrap{ text-align:center; margin-top:12px; }
.s9-loadmore{ display:inline-block; }

/* Gravity Forms submit button */
body .gform_wrapper .gform_footer .gform_button.button,
body .gform_wrapper .gform_page_footer .gform_button.button {
  background-color: #1AE0FB !important;
  color: #fff !important;
  border: none !important;
}
body .gform_wrapper .gform_footer .gform_button.button:hover,
body .gform_wrapper .gform_page_footer .gform_button.button:hover {
  background-color: #14C5DD !important;
}
.vimeo-video {
    padding-bottom: 40px!important;
}

.wd-single-post-header {
    align-items: left!important;
    padding: 0 20px!important;
}
.wd-post-cat.wd-style-with-bg {
    display: none;
}
.s9-addr-pin{ width:16px; height:16px; flex:0 0 16px; }
.s9-location-text {
  color: #444; /* or your theme's default text color */
  font-size: 0.95rem;
}
.s9-card-location {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #444;
  margin: 6px 0 0;
}
.s9-card-pin { width: 14px; height: 14px; color: var(--cat-color, #666); flex-shrink: 0; }
.s9-location-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ========== Leaflet popup (bigger + tidy) ========== */
/* Larger popup with consistent size */
.leaflet-popup-content-wrapper {
  padding: 12px;
  border-radius: 8px;
  min-width: 240px; /* NEW: minimum width */
  max-width: 340px; /* prevent it from being too wide */
}

.leaflet-popup-content {
  margin: 0;
}

.s9-popup {
  width: 100%;
  min-width: 240px; /* matches wrapper */
  max-width: 340px;
}

.s9-popup img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  margin: 0 0 10px;
  border-radius: 6px;
}

.s9-popup .s9-ttl {
  font-weight: 700;
  font-size: 1.1rem;
  margin: 0 0 8px;
}

.s9-popup .s9-addr {
  color: #666;
  font-size: 0.95rem;
  margin: 0 0 10px;
}

.s9-popup {
  display: inline-block;
  color: #666;
  text-decoration: none;
  padding: 8px 14px;
  font-weight: 600;
  border-radius: 4px;
  font-size: 0.9rem;
}
.leaflet-container a {
	    color: #3E3E3E!important;
}
.s9-button {
  display:inline-block; margin-top:12px; background:#F3F3F3; color:#3E3E3E; text-decoration:none; padding:5px 30px; font-weight:600; border-radius: 20px; font-size:13px; text-transform:uppercase;}
/* Make "Continue reading" links look like .s9-button */
.read-more-section .btn-read-more,
.read-more-section .more-link {
  display:inline-block; margin-top:12px; background:#F3F3F3; color:#3E3E3E; text-decoration:none; padding:14px 30px; font-weight:600; border-radius:4px; border-radius: var(--btn-brd-radius, 20px);}

.read-more-section .btn-read-more:hover,
.read-more-section .more-link:hover {
  filter:brightness(0.92); color:#3E3E3E; }
}
/* ========== Pills (compact, coloured) ========== */
.s9-pillbar{ display:flex; flex-wrap:wrap; gap:.6rem; margin:8px 0 14px; }
.s9-pill{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.42rem .85rem; border-radius:9999px;
  border:3px solid var(--cat-color,#ddd) !important;
  background:#fff; color:#000; font-weight:700; line-height:1; cursor:pointer;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.s9-pill .s9-label{ letter-spacing:.02em; }
.s9-pill.is-on{ background:color-mix(in srgb, var(--cat-color,#ddd) 18%, #fff); }

.s9-pill .s9-toggle{
  width:36px; height:18px; border-radius:9999px; flex:0 0 auto;
  border:2px solid var(--cat-color,#ddd) !important; position:relative; background:#fff;
}
.s9-pill .s9-toggle::after{
  content:""; position:absolute; top:50%; left:2px; transform:translateY(-50%);
  width:14px; height:14px; border-radius:50%;
  background:var(--cat-color,#ddd) !important; transition:all .15s;
}
.s9-pill.is-on .s9-toggle::after{ left:18px; }

/* ========== Listing image + underline (single, canonical block) ========== */
.wpgmp_listing_container .fc-feature-img{
  position:relative; display:block; line-height:0; overflow:hidden;
  border-bottom:6px solid var(--cat-color, #e0e0e0); /* fallback colour bar */
}
.wpgmp_listing_container .fc-feature-img img{
  display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;
}
.wpgmp_listing_container .fc-feature-img::after{ content:none !important; display:none !important; }
.wpgmp_listing_container .fc-feature-img > .s9-underline{
  position:absolute; left:0; right:0; bottom:0; height:6px; pointer-events:none;
  background:var(--cat-color, #e0e0e0);
  display:block; z-index:2; margin:0; padding:0; border:0;
}

/* Also allow our React/Leaflet cards to pick up --cat-color inline */
.s9-card-img{ border-bottom:6px solid var(--cat-color, transparent) !important; }
.s9-card-img > .s9-underline{ background:var(--cat-color, #e0e0e0) !important; }

/* Leaflet pin container—don’t let theme fonts/line-heights warp the icon */
.s9-pin{ line-height:0 !important; }

/* ========== Unified “Read More” button (all maps/skins) ========== */
.read-more,
.fc-item-aare .read-more{
  display:inline-block; padding:10px 18px;
  font-size:14px !important; font-weight:600 !important; text-transform:uppercase !important;
  text-align:center; text-decoration:none;
  color:#fff !important; background-color:#666 !important;
  border:0; border-radius:4px; margin-top:15px;
  transition:background .2s ease, transform .1s ease;
  box-shadow:0 2px 4px rgba(0,0,0,.1);
}
.read-more:hover,
.fc-item-aare .read-more:hover{ background-color:#444 !important; transform:translateY(-1px); }
.wpgmp_listing_container .read-more:active{ transform:translateY(0); }

/* Neutral Infowindow Button (legacy WP Maps Pro infowindows) */
.s9-infowindow-btn{
  display:inline-block; margin-top:12px; padding:10px 22px;
  background:#666; color:#fff !important; font-weight:600; text-transform:uppercase;
  font-size:14px; border-radius:4px; text-decoration:none;
  transition:background-color .3s ease, transform .2s ease;
}
.s9-infowindow-btn:hover{ background:#444; transform:translateY(-2px); }

/* ========== WP Maps Pro listing → force CSS Grid (no masonry) ========== */
.wpgmp_listing_container .fc-component-6{
  display:grid !important; grid-template-columns:repeat(1, minmax(0,1fr)); gap:24px !important;
  -webkit-column-count:initial !important; -moz-column-count:initial !important; column-count:initial !important;
}
@media (min-width:640px){
  .wpgmp_listing_container .fc-component-6{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (min-width:1024px){
  .wpgmp_listing_container .fc-component-6{ grid-template-columns:repeat(4, minmax(0,1fr)); }
}

/* Cards behave like grid items (undo plugin inline positioning) */
.wpgmp_listing_container .wpgmp_locations{
  position:static !important; left:auto !important; top:auto !important; width:auto !important; margin:0 !important;
}
.wpgmp_listing_grid .fc-item-aare .wpgmp_locations{
  float:none !important; display:block !important; border:1px solid #eee !important; background:#fff !important;
}

/* Kill table-cell layout some skins add */
.wpgmp_listing_container .fc-item-aare .fc-component-content ul{ display:block !important; width:100% !important; }
.wpgmp_listing_container .fc-item-aare .fc-component-content ul li{ display:block !important; width:auto !important; float:none !important; }

/* ========== WP Maps Pro UI light trims ========== */
.wpgmp_map_container{ margin-bottom:28px; }
.wpgmp_listing_container{ position:relative; isolation:isolate; z-index:2; clear:both; }

/* hide badges visually (JS still reads text) */
.wpgmp_listing_container .fc-item-meta .fc-badge{ display:none; }

/* remove stray bullets some skins inject */
.wpgmp_listing_container ul, .wpgmp_listing_container li{ list-style:none; margin:0; padding:0; }
.wpgmp_listing_container li::marker{ content:""; }
.wpgmp_listing_container li::before, .wpgmp_listing_container li::after{ content:none; display:none; }

/* Optional: tidy the plugin’s filter/header wrappers */
.wpgmp_filter_wrappers{ background:transparent; padding:0; border-radius:0; }
.wpgmp_before_listing{ display:none; }

/* ========== Theme tweaks you had ========== */
.fc-item-meta.fc-item-secondary-text-color.fc-css{ display:none; }
.wd-single-post-img img{ display:none; }
.wd-meta-author{ display:none; }
.wd-title-style-simple .liner-continer:after{ width:60px !important; background-color:var(--wd-primary-color) !important; }
.wd-sub-menu li > a{ text-transform:uppercase; }

/* Header gradient feather */
.whb-main-header::before{
  content:""; position:absolute; top:0; left:0; right:0; height:120px;
  background:linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,0)); pointer-events:none; z-index:1;
}
.whb-main-header{ position:relative; z-index:10; }
.whb-main-header .whb-row, .whb-main-header nav, .whb-main-header a{ position:relative; z-index:5; }

/* Utilities */
.fadetext{ opacity:1; transition:opacity 1s ease-in-out; animation:fadeOutText 1s ease-in-out 5s forwards; }
@keyframes fadeOutText{ from{opacity:1;} to{opacity:0; visibility:hidden;} }

/* Mailchimp form */
#mc4wp-form-1 .mc4wp-form-fields{
  display:flex; flex-wrap:nowrap; align-items:stretch; max-width:500px; width:100%;
  margin:0 auto; overflow:hidden; background:#fff;
}
#mc4wp-form-1 .mc4wp-form-fields input[type="email"]{
  flex:1 1 auto; border:none; padding:0 14px; font-size:16px; outline:none; min-width:0;
}
#mc4wp-form-1 .mc4wp-form-fields button{
  flex:0 0 auto; padding:0 20px; background:#15d3ff; color:#fff; font-weight:bold;
  font-size:15px; text-transform:uppercase; border:none; cursor:pointer; transition:background .2s ease;
}
#mc4wp-form-1 .mc4wp-form-fields button:hover{ background:#10bfe6; }
#mc4wp-form-1 .mc4wp-form-fields input::placeholder{ color:#aaa; }
#mc4wp-form-1 .sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0;
}

/* Misc */
.title{ margin-left:0; }@media (max-width: 576px) {
	.fadetext {
  opacity: 1;
  transition: opacity 2s ease; /* 2s fade duration */
  animation: fadeOut 1s ease forwards;
  animation-delay: 10s; /* wait 5 seconds before fading */
}

@keyframes fadeOut {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.whb-general-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    pointer-events: none;
    z-index: 1;
}

/* Ensure the header container allows stacking */
.whb-general-header {
    position: relative;
    z-index: 2; /* above background but below overlay content if needed */
}

/* Ensure children (logo/nav) are above the overlay */
.whb-general-header > .container,
.whb-general-header * {
    position: relative;
    z-index: 2;
}
}

