.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"Space Grotesk", Sans-serif;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   GESSO MAIN CSS —
   ========================================================= */


#qodef-page-footer-top-area-inner {
  border-top-color: #0a0a0a;
  border-top-width: 1px;
  border-top-style: solid;
}
#qodef-page-footer-bottom-area-inner {
  border-top-color: #0a0a0a;
  border-top-width: 1px;
  border-top-style: solid;
}
body {
  background-color: rgb(255, 255, 255);
}
#qodef-page-inner {
  padding: 170px 0px 145px 0px;
}
@media only screen and (max-width: 1024px) {
  #qodef-page-inner {
    padding: 114px 0px 145px 0px;
  }
}
#qodef-page-header .qodef-header-logo-link {
  height: 159px;
}
#qodef-page-mobile-header .qodef-mobile-header-logo-link {
  height: 37px;
}
#qodef-side-area {
  width: 421px;
  right: -421px;
}
h2,
.qodef-h2 {
  color: rgb(250, 114, 183);
}
h5,
.qodef-h5 {
  letter-spacing: 0.2em;
}
h6,
.qodef-h6 {
  letter-spacing: 0.2em;
}
a,
p a {
  color: rgb(250, 114, 183);
}
h1 a:hover,
h1 a:focus {
  color: rgb(10, 0, 0);
}
.qodef-header--standard #qodef-page-header {
  height: 82px;
}
.qodef-header--standard #qodef-page-header-inner {
  padding-left: 43px;
  padding-right: 43px;
  border-bottom-color: #0a0a0a;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.qodef-mobile-header--standard
  #qodef-page-mobile-header-inner:not(.qodef-content-grid) {
  padding-left: 7%;
  padding-right: 7%;
}
.qodef-mobile-header--standard
  .qodef-mobile-header-navigation
  > ul:not(.qodef-content-grid) {
  padding-left: 7%;
  padding-right: 7%;
}








/*==========================================================================================================Feeling Yachty — Elementor Posts/Grids/Sliders Full FY Style (Images + Titles + Pink Borders + Shine)=====================================================*/

/* ---------- BRAND TOKENS ---------- */
:root {
	--ink: #0f172a;
	--muted: #475569;
	--accent: #E45C9C;
	--accent2: #d34c8b;
	--ring: rgba(228, 92, 156, .28);
	--border: #f3d5e6;
	/* FY pink border */
	--chip: #fff7fb;
	--chipbd: #f3d5e6;
	--whatsapp: #25D366;
	--ui-ratio: 4/3;
	/* 16/9, 1/1, etc. */
}

/* ===================================================== IMAGE FRAMES ===================================================== */
.elementor-post__thumbnail,
.elementor-post__thumbnail__link,
figure.elementor-post__thumbnail,
.elementor-portfolio-item__img,
.e-gallery-image,
.elementor-image-carousel .swiper-slide,
.elementor-posts-carousel .swiper-slide {
	aspect-ratio: var(--ui-ratio);
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 14px;
	margin-bottom: 14px;
	border: 2px solid var(--border);
}

/* Image element */
.elementor-post__thumbnail img,
.elementor-post__thumbnail__link img,
figure.elementor-post__thumbnail img,
.elementor-portfolio-item__img img,
.e-gallery-image img,
.elementor-image-carousel img,
.elementor-posts-carousel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .35s ease;
}

/* Hover zoom */
.elementor-post__thumbnail:hover img,
.elementor-portfolio-item__img:hover img,
.e-gallery-image:hover img {
	transform: scale(1.05);
}

/* Skeleton shimmer */
.elementor-post__thumbnail,
.elementor-portfolio-item__img,
.elementor-posts-carousel .swiper-slide,
.elementor-image-carousel .swiper-slide {
	background: linear-gradient(90deg, #f7f7fb 25%, #efeff7 37%, #f7f7fb 63%);
	background-size: 400% 100%;
	animation: fyShimmer 1.4s ease infinite;
}

@keyframes fyShimmer {
	0% {
		background-position: 100% 0
	}

	100% {
		background-position: 0 0
	}
}

.elementor-post__thumbnail img[decoding="async"],
.elementor-portfolio-item__img img,
.elementor-image-carousel img {
	background: none;
	animation: none;
}

/* ===================================================== CARD WRAPPER ===================================================== */
.elementor-post,
.elementor-portfolio-item,
.elementor-posts-carousel .swiper-slide,
.elementor-image-carousel .swiper-slide {
	position: relative;
	background: #fff;
	border: 2px solid var(--border);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 6px 14px rgba(15, 23, 42, .06);
	transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}

/* Continuous shine (idle) */
.elementor-post::before,
.elementor-portfolio-item::before,
.elementor-posts-carousel .swiper-slide::before,
.elementor-image-carousel .swiper-slide::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(228, 92, 156, .07) 45%, rgba(211, 76, 139, .12) 55%, transparent 100%);
	background-size: 200% 100%;
	background-position: -200% 0;
	opacity: .35;
	pointer-events: none;
	z-index: 0;
	animation: fyShineIdle 12s linear infinite;
}

@keyframes fyShineIdle {
	0% {
		background-position: -200% 0
	}

	100% {
		background-position: 200% 0
	}
}

/* Hover: neon rim + faster shine */
.elementor-post:hover,
.elementor-portfolio-item:hover,
.elementor-posts-carousel .swiper-slide:hover,
.elementor-image-carousel .swiper-slide:hover {
	transform: translateY(-3px);
	border-color: var(--accent2);
	box-shadow: 0 10px 22px rgba(15, 23, 42, .10), 0 0 14px rgba(228, 92, 156, .45);
}

.elementor-post:hover::before,
.elementor-portfolio-item:hover::before,
.elementor-posts-carousel .swiper-slide:hover::before,
.elementor-image-carousel .swiper-slide:hover::before {
	opacity: 1;
	animation: fyShineMove 2s linear forwards;
}

@keyframes fyShineMove {
	0% {
		background-position: -200% 0
	}

	100% {
		background-position: 200% 0
	}
}

/* Keep content above shine */
.elementor-post>*,
.elementor-portfolio-item>*,
.elementor-posts-carousel .swiper-slide>*,
.elementor-image-carousel .swiper-slide>* {
	position: relative;
	z-index: 1;
}

/* ===================================================== TITLES ===================================================== */
.elementor-post__title,
.elementor-post__title a,
.elementor-portfolio-item__title,
.elementor-portfolio-item__title a {
	font-family: inherit;
	font-weight: 700;
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	line-height: 1.3;
	text-align: center;
	margin: 6px 0 12px;
	color: var(--ink);
	letter-spacing: -.2px;
	text-decoration: none;
	transition: color .25s ease, transform .25s ease;
}

.elementor-post__title a:hover,
.elementor-portfolio-item__title a:hover {
	color: var(--accent);
	transform: translateY(-2px);
	text-shadow: 0 0 14px rgba(228, 92, 156, .3);
}

/* ===================================================== META + SPACING ===================================================== */
.elementor-post__meta-data {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-bottom: 10px;
	font-size: .82rem;
	color: var(--muted);
}

.elementor-post__meta-data>span {
	padding: 4px 8px;
	border: 1px solid var(--border);
	border-radius: 999px;
}

/* Grid gaps */
.elementor-posts-container,
.elementor-portfolio,
.elementor-posts-carousel,
.elementor-image-carousel {
	gap: 22px !important;
}

/* ===================================================== FY EXTRAS ===================================================== */
/* Info row */
.fy-info {
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
	margin: 6px 14px 10px;
	color: var(--muted);
	font-size: .92rem;
}

.fy-info>span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border: 1px solid var(--border);
	background: var(--chip);
	border-radius: 999px;
}

/* Price pill */
.elementor-post[data-price]::after,
.elementor-portfolio-item[data-price]::after {
	content: "$" attr(data-price);
	position: absolute;
	top: 10px;
	right: 10px;
	background: linear-gradient(180deg, var(--accent), var(--accent2));
	color: #fff;
	font-weight: 800;
	font-size: .95rem;
	padding: 6px 10px;
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(228, 92, 156, .35);
}

/* Fees chip */
.fy-fees {
	display: inline-block;
	margin: 0 auto 10px;
	color: #293041;
	background: var(--chip);
	border: 1px dashed var(--chipbd);
	border-radius: 999px;
	padding: 6px 10px;
	font-size: .86rem;
}

/* 1h Free ribbon */
.fy-free {
	position: relative;
}

.fy-free::before {
	content: "+1h Free";
	position: absolute;
	top: 12px;
	left: -38px;
	transform: rotate(-12deg);
	background: #fff;
	color: var(--accent2);
	border: 2px solid var(--accent2);
	padding: 6px 12px;
	font-weight: 800;
	border-radius: 10px;
	box-shadow: 0 8px 18px rgba(211, 76, 139, .2);
}

/* CTA buttons */
.fy-cta {
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
	padding: 8px 14px 16px;
}

.fy-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 999px;
	font-weight: 800;
	text-decoration: none;
	line-height: 1;
	border: 1px solid transparent;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
	white-space: nowrap;
}

.fy-btn--accent {
	background: linear-gradient(180deg, var(--accent), var(--accent2));
	color: #fff;
	box-shadow: 0 8px 16px rgba(228, 92, 156, .35);
}

.fy-btn--accent:hover {
	transform: translateY(-2px);
}

.fy-btn--dark {
	background: #0f172a;
	color: #fff;
}

.fy-btn--whatsapp {
	background: var(--whatsapp);
	color: #0b311a;
	font-weight: 900;
}

.fy-btn--dark:hover,
.fy-btn--whatsapp:hover {
	transform: translateY(-2px);
}

@media (max-width:640px) {
	.fy-cta {
		flex-wrap: wrap
	}

	.fy-btn {
		flex: 1 1 auto;
		width: 100%;
	}
}

/* ===================================================== RESPONSIVE ===================================================== */
@media (max-width:768px) {
	:root {
		--ui-ratio: 1/1;
	}
}

/* ========================================= Hide posts/yachts with NO image (all grids/sliders)
                                                                                                                   /* Apply styling to all Elementor image galleries */
.elementor-gallery__container img,
.elementor-widget-gallery img,
.elementor-image-gallery img {
  border-radius: 12px; /* Rounded corners */
  transition: all 0.4s ease-in-out;
  position: relative;
  overflow: hidden;
} 

/* Hover shimmer effect */
.elementor-gallery__container img:hover,
.elementor-widget-gallery img:hover,
.elementor-image-gallery img:hover {
  transform: scale(1.05); /* Slight zoom on hover */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

/* Shimmer overlay */
.elementor-gallery__container img:hover::after,
.elementor-widget-gallery img:hover::after,
.elementor-image-gallery img:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.3) 0%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0.3) 100%
  );
  transform: skewX(-20deg);
  animation: shimmer 1s forwards;
  border-radius: inherit;
}

/* Shimmer animation */
@keyframes shimmer {
  100% {
    left: 125%;
  }
}
                                   
add_action('wp_enqueue_scripts', function () {
  if (is_category('miami-yacht-tips') || (is_single() && in_category('miami-yacht-tips'))) {
    $css = '
      .wp-block-post-featured-image img,
      .wp-post-image,
      .slick-slide img,
      .swiper-slide img,
      .elementor-widget-image-carousel .swiper-slide img { 
        object-fit: cover; 
        object-position: top center !important; 
        width:100%;
        height:100%;
      }
      .slick-slide,
      .swiper-slide,
      .elementor-section {
        background-position: top center !important;
        background-size: cover !important;
      }
      @media (max-width:768px){
        .swiper-slide img { height:auto !important; max-height:none !important; }
      }
    ';
    wp_add_inline_style('wp-block-library', $css);
  }
});

.fy-filter-wrapper {
  display:flex;
  justify-content:center;
  background:#fff;
  border:2px solid #ff00a6;
  border-radius:20px;
  padding:20px 25px;
  margin-bottom:30px;
  box-shadow:0 6px 15px rgba(255,0,166,0.08);
}
.fy-filters {
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  justify-content:center;
}
.fy-select {
  appearance:none;
  padding:10px 40px 10px 18px;
  border-radius:40px;
  border:2px solid #ff00a6;
  background:#fff;
  font-size:15px;
  font-weight:500;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(0,0,0,0.05);
  transition:all .25s;
}
.fy-select:hover { background:#ff00a6; color:#fff; }
.fy-filter { position:relative; }
.fy-filter::after {
  content:'▾';
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:#ff00a6;
}


























	/* =========================================================
   FEELING YACHTY — Master Global CSS (Fixed Featured Image)
   ========================================================= */

/* ---------- Tokens + Layout Utilities ---------- */
:root{
  --ink:#0f172a; --muted:#475569; --border:#eef2f7;
  --chip:#fff7fb; --tile:#fff7fb; --outline:#e2dce9;
  --accent:#E45C9C; --accent-2:#d34c8b; --wa:#25D366;

  --space-1:.4rem; --space-2:.6rem; --space-3:.9rem;
  --space-4:1.2rem; --space-5:1.6rem; --space-6:2.2rem;
  --space-7:3rem; --space-8:4rem;

  --max-w-xs:540px; --max-w-sm:720px; --max-w-md:960px;
  --max-w-lg:1140px; --max-w-xl:1320px;
}

html{
  font-size: clamp(15px, 1.2vw + 11px, 18px);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  background:
    linear-gradient(45deg, #f6f8fb 25%, transparent 25%, transparent 75%, #f6f8fb 75%),
    linear-gradient(45deg, #f6f8fb 25%, transparent 25%, transparent 75%, #f6f8fb 75%),
    linear-gradient(180deg, #ffffff 0%, #f8fafd 40%, #f6f8fb 100%);
  background-size: 32px 32px, 32px 32px, 100% 100%;
  background-position: 0 0, 16px 16px, 0 0;
  background-attachment: fixed;
  color: var(--ink);
  margin: 0;
}

/* Containers / grids / helpers */
.container{ width:min(100% - 2rem, var(--max-w-lg)); margin-inline:auto; }
.container.narrow{ width:min(100% - 2rem, var(--max-w-sm)); }
.container.wide{ width:min(100% - 2rem, var(--max-w-xl)); }
.grid{ display:grid; gap:var(--space-3); grid-template-columns:1fr; }
.section{ padding-block:var(--space-7); }
.section.tight{ padding-block:var(--space-5); }
.stack > * + *{ margin-top:var(--space-3); }
img,svg,video,canvas{ max-width:100%; height:auto; display:block; }
.bg-cover{ background:no-repeat center / cover; }
.media-cover{ position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:14px; background:#e9eef5; }
.media-cover > img, .media-cover > video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }

/* Buttons */
.button,.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-weight:800; text-decoration:none; line-height:1;
  padding:.95em 1.15em; border-radius:999px; border:0; color:#fff;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  box-shadow:0 8px 18px rgba(228,92,156,.25);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.button:hover{ transform:translateY(-1px); filter:saturate(1.1); }
.button:active{ transform:translateY(0); }
.button.dark{ background:#0f172a; color:#fff; }
.button.wa{ background:var(--wa); }
.button.block{ width:100%; }

/* ---------- Typography ---------- */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title{
  font-size:inherit !important; line-height:inherit !important;
}
.postheading h1.elementor-heading-title.elementor-size-default {
    font-size: 40px !important;
	  line-height:44px !important;
	   margin-top:20px;
}
/* Base */
body{ font-size:1.05rem; line-height:1.55; }
h1{ font-size:2.40rem; line-height:1.08; margin:0 0 .6em; font-weight:900; letter-spacing:-.015em; }
h2{ font-size:2.00rem; line-height:1.10; margin:0 0 .6em; font-weight:900; }
h3{ font-size:1.60rem; line-height:1.14; margin:0 0 .6em; font-weight:900; }
h4{ font-size:1.35rem; line-height:1.18; margin:0 0 .6em; font-weight:800; }
h5{ font-size:1.15rem; line-height:1.22; margin:0 0 .6em; font-weight:800; }
h6{ font-size:1.05rem; line-height:1.24; margin:0 0 .6em; font-weight:800; }

/* ---------- Breakpoints ---------- */
@media (min-width:480px){ .grid.cols-2{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:640px){ .container{ width:min(100% - 3rem, var(--max-w-lg)); } .grid.cols-3-sm{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:768px){ .container{ width:min(100% - 4rem, var(--max-w-lg)); } .grid.cols-3{ grid-template-columns:repeat(3,1fr); } .grid.cols-4-sm{ grid-template-columns:repeat(4,1fr); } }
@media (min-width:900px){ :root{ --max-w-lg:1180px; } .container{ width:min(100% - 4rem, var(--max-w-lg)); } }
@media (min-width:1024px){ .grid.cols-4{ grid-template-columns:repeat(4,1fr); } }
@media (min-width:1280px){ :root{ --max-w-lg:1240px; --max-w-xl:1360px; } .container.wide{ width:min(100% - 5rem, var(--max-w-xl)); } }
@media (min-width:1440px){ html{ font-size: clamp(16px, .7vw + 10px, 18px); } }
@media (min-width:1600px){ :root{ --max-w-xl:1420px; } }
@media (min-width:1920px){ html{ font-size: clamp(16px, .62vw + 9px, 19px); } }

/* ---------- Misc / Fixes ---------- */
.miami-yacht-rentals-template-default .qodef-e-info{ display:none; }
.single-miami-yacht-rentals h1.flex.flex-grow.flex-col.max-w-full{ display:none; }
/* ⬇️ REMOVED the Specials featured image hide */

/* Mobile header fixes */
@media (max-width:767px){
  ul.slick-dots{ display:none !important; }
  .elementor .elementor-widget-theme-site-logo{ display:flex; }
  .elementor .elementor-widget-theme-site-logo img{ max-height:4.5rem; width:auto !important; }
  .elementor .elementor-widget-theme-site-logo img.attachment-full.size-full{ max-width:5.5rem; }
  header.elementor > .elementor-element{ display:flex; justify-content:space-between; flex-wrap:nowrap; }
  header.elementor > .elementor-element .e-con.e-flex{ flex-wrap:nowrap !important; flex-shrink:inherit !important; padding:0 0 1rem 0; }
  header.elementor > .elementor-element nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{
    position:absolute; z-index:1; right:0; margin-top:2.2rem; width:100%; min-width:15rem;
  }
}

/* Chat widget */
chat-widget{ position:fixed !important; right:16px !important; bottom:16px !important; z-index:2147483000 !important;
  max-width:calc(100vw - 32px) !important; width:min(420px, 100vw - 32px) !important; }
@media (max-width:480px){ chat-widget{ left:16px !important; right:16px !important; width:auto !important; } }

html,body{ overflow-x:hidden; }

/* Menu popup */
.menupopUp .dialog-widget-content.dialog-lightbox-widget-content{ width:100%; }
.menupopUp .dialog-widget-content.dialog-lightbox-widget-content .dialog-message.dialog-lightbox-message{ width:100% !important; max-width:100% !important; }
.menupopUp a.dialog-close-button.dialog-lightbox-close-button{ opacity:0; }
.menuCustom nav ul li a.elementor-item,
.menuCustom nav ul li ul.sub-menu.elementor-nav-menu--dropdown li a{
  text-align:center; align-items:center; justify-content:center;
}
.menuCustom nav ul li ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item{ font-size:1.25rem !important; opacity:.8; }
.menuCustom nav ul li ul.sub-menu.elementor-nav-menu--dropdown{ padding:0; margin:0; text-align:center; }
@media screen and (max-width:1024px){
  .menupopUp{ position:fixed !important; }
  .menulogoHeader{ padding-top:.85rem; padding-left:.25rem; padding-right:.25rem; }
}

.single-miami-yacht-party .qodef-info-separator-end {
    display: none;
}

.qodef-custom-blog .qodef-e-info {
    display: none;
}
.qodef-blog .qodef-custom-blog .qodef-e-content {
    max-width: 1150px;
}
.single-miami-yacht-party .qodef-e-media{display:none !important;}
.single-miami-yacht-party img.attachment-full.size-full.wp-post-image {
    display: none;
}
.single-miami-yacht-party .qodef-blog-item .qodef-e-top-holder {
    margin-bottom: -20px;
}
.single-miami-yacht-venue .qodef-blog-item .qodef-e-top-holder {
    margin-bottom: -10px;
}
.single-miami-yacht-venue .qodef-e-media-image {
    display: none !important;
	   margin-bottom:0px;
}
.single-miami-yacht-venue h1.qodef-e-title.entry-title {
    display: none;
}

.single-miami-water-sports  .qodef-e-media-image {
    display: none !important;
	margin-bottom:0px;
}
.single-miami-water-sports h1.qodef-e-title.entry-title {
    display: none;
}
.single-miami-water-sports .qodef-blog .qodef-blog-item .qodef-e-top-holder {
     margin-bottom:-15px;
}
.miami_title_custom h1.elementor-heading-title.elementor-size-default {
    font-size: 44px !important;
}


/* Hide titles/meta on events/charters */
body[class*="miami-yacht-events"] .entry-title,
body[class*="ft-lauderdale-events"] .entry-title,
body[class*="ftlauderdale-charter"] .entry-title{ display:none !important; }

/* Date hide */
body[class*="miami-yacht-events"] .qodef-date,
body[class*="ft-lauderdale-events"] .qodef-date,
body[class*="ftlauderdale-charter"] .qodef-date{ display:none !important; }

/* Author hide */
body[class*="miami-yacht-events"] .qodef-post-info-author,
body[class*="ft-lauderdale-events"] .qodef-post-info-author,
body[class*="ftlauderdale-charter"] .qodef-post-info-author{ display:none !important; }

/* Meta bar */
body[class*="miami-yacht-events"] .qodef-post-info,
body[class*="ft-lauderdale-events"] .qodef-post-info,
body[class*="ftlauderdale-charter"] .qodef-post-info{ display:none !important; }

/* Featured Image hide (Events/Charter only) */
body[class*="miami-yacht-events"] .qodef-post-image,
body[class*="ft-lauderdale-events"] .qodef-post-image,
body[class*="ftlauderdale-charter"] .qodef-post-image{ display:none !important; }
.single-miami-yacht-events article.qodef-blog-item > .qodef-e-inner > .qodef-e-media{ display:none; }
.single-ftlauderdale-charter a.qodef-e-info-author{ display:none !important; }
.single-ftlauderdale-charter article.qodef-blog-item > .qodef-e-inner > .qodef-e-media{ display:none !important; }
.single-ftlauderdale-charter .qodef-blog .qodef-blog-item .qodef-e-top-holder{ margin-bottom:0; }

/* Links + hr */
a{ color:var(--accent); text-decoration-thickness:.08em; text-underline-offset:.18em; }
hr{ border:0; height:1px; background:var(--border); margin:var(--space-5) 0; }

/* Hide H1 title + featured image only on 33–46ft, 47–64ft, 65–74ft yacht pages */
body.page-id-23584 h1.entry-title,
body.page-id-23584 .elementor h1.elementor-heading-title,
body.page-id-23584 .post-thumbnail,
body.page-id-23584 .entry-featured,
body.page-id-23584 img.wp-post-image,

body.page-id-23652 h1.entry-title,
body.page-id-23652 .elementor h1.elementor-heading-title,
body.page-id-23652 .post-thumbnail,
body.page-id-23652 .entry-featured,
body.page-id-23652 img.wp-post-image,

body.page-id-23621 h1.entry-title,
body.page-id-23621 .elementor h1.elementor-heading-title,
body.page-id-23621 .post-thumbnail,
body.page-id-23621 .entry-featured,
body.page-id-23621 img.wp-post-image {
  display: none !important;
}

/* FY Wave (compact) */
.fy-wave { display:block; width:100%; height:auto; }
.fy-wave .wave { fill: url(#fyWater); animation: moveWave 10s ease-in-out infinite; }
.fy-wave .wave:nth-of-type(2) { animation-delay: -5s; transform: translateY(1px); }

@keyframes moveWave{
  0%,100%{ transform: translateX(0) translateY(0) scaleY(1); }
  25%    { transform: translateX(-30px) translateY(-5px) scaleY(.85); }
  50%    { transform: translateX(-60px) translateY(0)   scaleY(1.15); }
  75%    { transform: translateX(-90px) translateY(5px) scaleY(.95); }
}

//*
=====================================================
 ===================================================== Feeling Yachty — Elementor Posts/Grids/Sliders Full FY Style (Images + Titles + Pink Borders + Shine) ===================================================== */ /* ---------- BRAND TOKENS ---------- */ :root{ --ink:#0f172a; --muted:#475569; --accent:#E45C9C; --accent2:#d34c8b; --ring:rgba(228,92,156,.28); --border:#f3d5e6; /* FY pink border */ --chip:#fff7fb; --chipbd:#f3d5e6; --whatsapp:#25D366; --ui-ratio: 4/3; /* 16/9, 1/1, etc. */ } /* ===================================================== IMAGE FRAMES ===================================================== */ .elementor-post__thumbnail, .elementor-post__thumbnail__link, figure.elementor-post__thumbnail, .elementor-portfolio-item__img, .e-gallery-image, .elementor-image-carousel .swiper-slide, .elementor-posts-carousel .swiper-slide{ aspect-ratio: var(--ui-ratio); width:100%; display:block; position:relative; overflow:hidden; border-radius:14px; margin-bottom:14px; border:2px solid var(--border); } /* Image element */ .elementor-post__thumbnail img, .elementor-post__thumbnail__link img, figure.elementor-post__thumbnail img, .elementor-portfolio-item__img img, .e-gallery-image img, .elementor-image-carousel img, .elementor-posts-carousel img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition: transform .35s ease; } /* Hover zoom */ .elementor-post__thumbnail:hover img, .elementor-portfolio-item__img:hover img, .e-gallery-image:hover img{ transform: scale(1.05); } /* Skeleton shimmer */ .elementor-post__thumbnail, .elementor-portfolio-item__img, .elementor-posts-carousel .swiper-slide, .elementor-image-carousel .swiper-slide{ background: linear-gradient(90deg,#f7f7fb 25%, #efeff7 37%, #f7f7fb 63%); background-size:400% 100%; animation: fyShimmer 1.4s ease infinite; } @keyframes fyShimmer{0%{background-position:100% 0}100%{background-position:0 0}} .elementor-post__thumbnail img[decoding="async"], .elementor-portfolio-item__img img, .elementor-image-carousel img{ background:none; animation:none; } /* ===================================================== CARD WRAPPER ===================================================== */ .elementor-post, .elementor-portfolio-item, .elementor-posts-carousel .swiper-slide, .elementor-image-carousel .swiper-slide{ position:relative; background:#fff; border:2px solid var(--border); border-radius:18px; overflow:hidden; box-shadow:0 6px 14px rgba(15,23,42,.06); transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease; } /* Continuous shine (idle) */ .elementor-post::before, .elementor-portfolio-item::before, .elementor-posts-carousel .swiper-slide::before, .elementor-image-carousel .swiper-slide::before{ content:""; position:absolute; inset:0; background: linear-gradient( 120deg, transparent 0%, rgba(228,92,156,.07) 45%, rgba(211,76,139,.12) 55%, transparent 100% ); background-size:200% 100%; background-position:-200% 0; opacity:.35; pointer-events:none; z-index:0; animation: fyShineIdle 12s linear infinite; } @keyframes fyShineIdle{ 0%{background-position:-200% 0} 100%{background-position:200% 0} } /* Hover: neon rim + faster shine */ .elementor-post:hover, .elementor-portfolio-item:hover, .elementor-posts-carousel .swiper-slide:hover, .elementor-image-carousel .swiper-slide:hover{ transform: translateY(-3px); border-color: var(--accent2); box-shadow: 0 10px 22px rgba(15,23,42,.10), 0 0 14px rgba(228,92,156,.45); } .elementor-post:hover::before, .elementor-portfolio-item:hover::before, .elementor-posts-carousel .swiper-slide:hover::before, .elementor-image-carousel .swiper-slide:hover::before{ opacity:1; animation: fyShineMove 2s linear forwards; } @keyframes fyShineMove{ 0%{background-position:-200% 0} 100%{background-position:200% 0} } /* Keep content above shine */ .elementor-post > *, .elementor-portfolio-item > *, .elementor-posts-carousel .swiper-slide > *, .elementor-image-carousel .swiper-slide > *{ position:relative; z-index:1; } /* ===================================================== TITLES ===================================================== */ .elementor-post__title, .elementor-post__title a, .elementor-portfolio-item__title, .elementor-portfolio-item__title a{ font-family:inherit; font-weight:700; font-size:clamp(1rem,1.4vw,1.25rem); line-height:1.3; text-align:center; margin:6px 0 12px; color:var(--ink); letter-spacing:-.2px; text-decoration:none; transition: color .25s ease, transform .25s ease; } .elementor-post__title a:hover, .elementor-portfolio-item__title a:hover{ color:var(--accent); transform:translateY(-2px); text-shadow:0 0 14px rgba(228,92,156,.3); } /* ===================================================== META + SPACING ===================================================== */ .elementor-post__meta-data{ display:flex; justify-content:center; gap:10px; margin-bottom:10px; font-size:.82rem; color:var(--muted); } .elementor-post__meta-data > span{ padding:4px 8px; border:1px solid var(--border); border-radius:999px; } /* Grid gaps */ .elementor-posts-container, .elementor-portfolio, .elementor-posts-carousel, .elementor-image-carousel{ gap:22px !important; } /* ===================================================== FY EXTRAS ===================================================== */ /* Info row */ .fy-info{ display:flex; gap:10px; justify-content:center; align-items:center; margin:6px 14px 10px; color:var(--muted); font-size:.92rem; } .fy-info > span{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--border); background:var(--chip); border-radius:999px; } /* Price pill */ .elementor-post[data-price]::after, .elementor-portfolio-item[data-price]::after{ content:"$" attr(data-price); position:absolute; top:10px; right:10px; background:linear-gradient(180deg,var(--accent),var(--accent2)); color:#fff; font-weight:800; font-size:.95rem; padding:6px 10px; border-radius:999px; box-shadow:0 6px 16px rgba(228,92,156,.35); } /* Fees chip */ .fy-fees{ display:inline-block; margin:0 auto 10px; color:#293041; background:var(--chip); border:1px dashed var(--chipbd); border-radius:999px; padding:6px 10px; font-size:.86rem; } /* 1h Free ribbon */ .fy-free{ position:relative; } .fy-free::before{ content:"+1h Free"; position:absolute; top:12px; left:-38px; transform:rotate(-12deg); background:#fff; color:var(--accent2); border:2px solid var(--accent2); padding:6px 12px; font-weight:800; border-radius:10px; box-shadow:0 8px 18px rgba(211,76,139,.2); } /* CTA buttons */ .fy-cta{ display:flex; gap:10px; justify-content:center; align-items:center; padding:8px 14px 16px; } .fy-btn{ display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border-radius:999px; font-weight:800; text-decoration:none; line-height:1; border:1px solid transparent; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; white-space:nowrap; } .fy-btn--accent{ background:linear-gradient(180deg,var(--accent),var(--accent2)); color:#fff; box-shadow:0 8px 16px rgba(228,92,156,.35); } .fy-btn--accent:hover{ transform:translateY(-2px); } .fy-btn--dark{ background:#0f172a; color:#fff; } .fy-btn--whatsapp{ background:var(--whatsapp); color:#0b311a; font-weight:900; } .fy-btn--dark:hover,.fy-btn--whatsapp:hover{ transform:translateY(-2px); } @media (max-width:640px){ .fy-cta{ flex-wrap:wrap } .fy-btn{ flex:1 1 auto; width:100%; } } /* ===================================================== RESPONSIVE ===================================================== */ @media (max-width:768px){ :root{ --ui-ratio:1/1; } } /* ========================================= Hide posts/yachts with NO image (all grids/sliders)
                                                                                                                   /* Apply styling to all Elementor image galleries */
.elementor-gallery__container img,
.elementor-widget-gallery img,
.elementor-image-gallery img {
  border-radius: 12px; /* Rounded corners */
  transition: all 0.4s ease-in-out;
  position: relative;
  overflow: hidden;
}

/* Hover shimmer effect */
.elementor-gallery__container img:hover,
.elementor-widget-gallery img:hover,
.elementor-image-gallery img:hover {
  transform: scale(1.05); /* Slight zoom on hover */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

/* Shimmer overlay */
.elementor-gallery__container img:hover::after,
.elementor-widget-gallery img:hover::after,
.elementor-image-gallery img:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.3) 0%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0.3) 100%
  );
  transform: skewX(-20deg);
  animation: shimmer 1s forwards;
  border-radius: inherit;
}

/* Shimmer animation */
@keyframes shimmer {
  100% {
    left: 125%;
  }
}
                                   
add_action('wp_enqueue_scripts', function () {
  if (is_category('miami-yacht-tips') || (is_single() && in_category('miami-yacht-tips'))) {
    $css = '
      .wp-block-post-featured-image img,
      .wp-post-image,
      .slick-slide img,
      .swiper-slide img,
      .elementor-widget-image-carousel .swiper-slide img { 
        object-fit: cover; 
        object-position: top center !important; 
        width:100%;
        height:100%;
      }
      .slick-slide,
      .swiper-slide,
      .elementor-section {
        background-position: top center !important;
        background-size: cover !important;
      }
      @media (max-width:768px){
        .swiper-slide img { height:auto !important; max-height:none !important; }
      }
    ';
    wp_add_inline_style('wp-block-library', $css);
  }
});

.fy-filter-wrapper {
  display:flex;
  justify-content:center;
  background:#fff;
  border:2px solid #ff00a6;
  border-radius:20px;
  padding:20px 25px;
  margin-bottom:30px;
  box-shadow:0 6px 15px rgba(255,0,166,0.08);
}
.fy-filters {
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  justify-content:center;
}
.fy-select {
  appearance:none;
  padding:10px 40px 10px 18px;
  border-radius:40px;
  border:2px solid #ff00a6;
  background:#fff;
  font-size:15px;
  font-weight:500;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(0,0,0,0.05);
  transition:all .25s;
}
.fy-select:hover { background:#ff00a6; color:#fff; }
.fy-filter { position:relative; }
.fy-filter::after {
  content:'▾';
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:#ff00a6;
}/* End custom CSS */