/*
 * West Country Water Park — Global Custom CSS
 *
 * Previously managed via WordPress Additional CSS (Customizer → post 107).
 * Now a versioned file, enqueued by inc/enqueue.php.
 *
 * Sections:
 *   - Hero layout & z-index
 *   - Jagged / wavy header and footer decorations
 *   - Mobile image seams (wave overlays)
 *   - Events page — EventON tiles
 *   - Kadence row seam fixes
 *   - Mobile sidebar redesign
 */

/* ===== WCWP HERO: force left column above right column (Kadence column wrappers) ===== */

/* Make a clean stacking context so z-index behaves predictably */
.wcwp-hero-wrap {
  position: relative;
  isolation: isolate;        /* KEY: stops weird stacking from outside */
  overflow: visible !important;
  z-index: 10;               /* paints above following sections so ::after shows on mobile */
}

@media (max-width: 768px) {
  /* Top edge of opening times box */
  .wcwp-hero-wrap::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 298px;
    height: 72px;
    z-index: 99;
    pointer-events: none;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E");
    background-size: max(100%, 1100px) 20px;
    background-position: bottom center;
    background-repeat: no-repeat;
  }
  /* Bottom edge of opening times box */
  .wcwp-hero-wrap::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    height: 72px;
    z-index: 99;
    pointer-events: none;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E");
    background-size: max(100%, 1100px) 20px;
    background-position: bottom center;
    background-repeat: no-repeat;
  }
}

/* Kadence commonly wraps columns with one of these.
   We raise the LEFT column wrapper above the RIGHT column wrapper. */
.wcwp-hero-wrap .kt-row-column-wrap,
.wcwp-hero-wrap .kb-row-layout .kt-row-column-wrap,
.wcwp-hero-wrap .kb-row-layout-inner .kt-row-column-wrap {
  position: relative;
  overflow: visible !important;
}

/* Left column wrapper on top */
.wcwp-hero-wrap .kt-row-column-wrap:first-child {
  z-index: 50;
}

/* Right column wrapper below */
.wcwp-hero-wrap .kt-row-column-wrap:last-child {
  z-index: 10;
}

/* If Kadence uses a different wrapper name in your version, these extra fallbacks help */
.wcwp-hero-wrap [class*="column"]:first-child,
.wcwp-hero-wrap [class*="col"]:first-child {
  position: relative;
  z-index: 50;
}
.wcwp-hero-wrap [class*="column"]:last-child,
.wcwp-hero-wrap [class*="col"]:last-child {
  position: relative;
  z-index: 10;
}

/* LEFT PANEL (Opening Times) – jagged edge + overlap */
.wcwp-jagged-panel {
  position: relative;
  z-index: 60;              /* higher than both column wrappers */
  overflow: visible !important;

  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;

  /* Interlock overlap into the video side */
  margin-right: -100px;

  -webkit-clip-path: polygon(
    0% 0%,
    94% 0%,
    100% 18%,
    90% 42%,
    97% 63%,
    92% 100%,
    0% 100%
  );
  clip-path: polygon(
    0% 0%,
    94% 0%,
    100% 18%,
    90% 42%,
    97% 63%,
    92% 100%,
    0% 100%
  );
}

.wcwp-jagged-panel::after {
  content: "";
  position: absolute;
  top: 0;

  /* sits between panel + video */
  right: 0px;
  height: 100%;
  width: 100px;

  pointer-events: none;
  z-index: 61;

  /* Teal seam */
  background: #6aadb2;

  /* Mirrored jag on LEFT edge, straight RIGHT edge */
  -webkit-clip-path: polygon(
    100% 0%,
    0% 0%,
    6% 18%,
    0% 42%,
    10% 63%,
    3% 100%,
    100% 100%
  );
  clip-path: polygon(
    100% 0%,
    20% 0%,
    65% 20%,
    0% 42%,
    50% 63%,
    10% 100%,
    100% 100%
  );
}


/* RIGHT PANEL (Video side) – keep it lower */
.wcwp-hero-video {
  position: relative;
  z-index: 5;
  overflow: visible !important;
}

/* Mobile: remove jag + overlap for clean stacking */
@media (max-width: 768px) {
  .wcwp-jagged-panel {
    -webkit-clip-path: none;
    clip-path: none;
    border-radius: 0 !important;
    margin-right: 0;
  }
  .wcwp-jagged-panel::after {
    display: none;
  }
}

/* Mobile sticky booking bar */
.mobile-bookbar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;

  background: #ffffff;
  border-top: 1px solid rgba(0,0,0,0.12);

  padding: 12px 16px;
}

/* Button full width */
.mobile-bookbar .kb-button,
.mobile-bookbar .wp-block-button__link{
  width: 100%;
  text-align: center;
  font-weight: 700;
  padding: 14px 16px;
  border-radius: 14px;
}
@media (max-width: 767px){
  body{
    padding-bottom: 80px;
  }
}

.mobile-bookbar{
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
}

@media (max-width: 767px){
  body{
    padding-bottom: calc(80px + env(safe-area-inset-bottom));
  }
}


/* ---- Jagged header bottom that overlaps the content ---- */

/* Ensure header layers above the hero/content */
.site-header {
  position: relative;
  z-index: 999;
  background: #fff;
  overflow: visible; /* important so the jag can hang below */
}

/* Put header contents above the jag */
.site-header > * {
  position: relative;
  z-index: 2;
}

/* The jagged "torn" shape */
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -35px;        /* how far it overlaps into the content */
  height: 64px;         /* height of the jag */
  z-index: 1;
  pointer-events: none;

  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: max(100%, 1100px) 40px;

  /* White torn edge (SVG) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E");

}

/* If you are NOT using Kadence Transparent Header, uncomment this to force overlay */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* ---- Jagged footer top (mirrored header shape) ---- */

.site-footer {
  position: relative;
  z-index: 1;
  overflow: visible;
}

/* Keep footer content above the wave */
.site-footer > * {
  position: relative;
  z-index: 2;
}

.site-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -55px;           /* mirrors header overlap */
  height: 64px;         /* EXACT same height */
  z-index: 1;
  pointer-events: none;

  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 40px; /* EXACT same size */

  /* mirror LEFT ↔ RIGHT and top to bottom*/
	transform: scale(-1, -1);
	transform-origin: center;

  /* SAME SVG SHAPE, new colour */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%231b2340' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E");
}

/* Hide footer wave on mobile */
@media (max-width: 768px) {
  .site-footer::before {
    display: none;
  }
}

/* ---- Wavy RHS image (desktop only) ---- */

.image-wave-right {
  position: relative;
}

.image-wave-right img {
  display: block;
  width: 100%;
  height: auto;
}

/* Waves only on desktop/tablet (769px and up) */
@media (min-width: 769px) {
  .image-wave-right {
    position: relative;
    z-index: 2;
    margin-right: -8%;
    clip-path: polygon(
      0% 0%,
      97% 0%,
      100% 17%,
      94% 45%,
      100% 60%,
      97% 100%,
      0% 100%
    );
  }
}
.image-wave-left {
  position: relative;  /* ← needed for pseudo-elements to work */
}
.image-wave-left img {
  display: block;
  width: 100%;
  height: auto;
}
/* Waves only on desktop/tablet (769px and up) */
@media (min-width: 769px) {
  .image-wave-left {
    position: relative;
    z-index: 2;
    clip-path: polygon(
      3% 0%,
      100% 0%,
      100% 100%,
      3% 100%,
      0% 60%,
      6% 45%,
      0% 17%
    );
    margin-left: -8%;
    transform: translateX(3%);
  }

  .text-col-left {
    position: relative;
    overflow: visible;
    z-index: 1;
  }

  .text-col-left > .kt-inside-inner-col {
    padding-right: 12% !important;
  }

  /* Beige strip — sits in front of teal */
  .text-col-left::before {
    content: '';
    position: absolute;
    top: 0;
    right: -60%;
    width: 67%;
    height: 100%;
    background-color: #f2f3d3;
    clip-path: polygon(
      3% 0%,
      100% 0%,
      100% 100%,
      3% 100%,
      0% 60%,
      6% 45%,
      0% 17%
    );
    z-index: 1;
  }

  /* Teal strip — wider, sits behind beige */
  .text-col-left::after {
    content: '';
    position: absolute;
    top: 0;
    right: -64%;
    width: 74%;
    height: 100%;
    background-color: #6aadb2;
    clip-path: polygon(
      3% 0%,
      100% 0%,
      100% 100%,
      3% 100%,
      0% 60%,
      6% 45%,
      0% 17%
    );
    z-index: 0;
  }

  .text-col-right {
    position: relative;
    overflow: visible;
  }

  .text-col-right > .kt-inside-inner-col {
    padding-left: 12% !important;
  }

  /* Beige strip — sits in front of teal */
  .text-col-right::before {
    content: '';
    position: absolute;
    top: 0;
    left: -59%;
    width: 69%;
    height: 100%;
    background-color: #f2f3d3;
    clip-path: polygon(
      0% 0%,
      97% 0%,
      100% 17%,
      94% 45%,
      100% 60%,
      97% 100%,
      0% 100%
    );
    z-index: 1;
  }

  /* Teal strip — wider, sits behind beige */
  .text-col-right::after {
    content: '';
    position: absolute;
    top: 0;
    left: -61%;
    width: 74%;
    height: 100%;
    background-color: #6aadb2;
    clip-path: polygon(
      0% 0%,
      97% 0%,
      100% 17%,
      94% 45%,
      100% 60%,
      97% 100%,
      0% 100%
    );
    z-index: 0;
  }
}

/* Decorative strips for image-wave-right are on .text-col-right (mirroring
   how .text-col-left carries the strips for image-wave-left). */

.book-now-btn,
.header-button {
  position: relative;
  z-index: 1;
}
.book-now-btn::before,
.header-button::before {
  content: "";
  position: absolute;
  top: -14%;
  bottom: -14%;
  left: -10%;
  right: -16%;
  background: #a4cfa7;
  clip-path: polygon(
    0% 0%,
    98% 6%,
    100% 94%,
    2% 100%
  );
  transition: clip-path 0.25s ease;
  z-index: -1;
}
.book-now-btn:hover::before,
.header-button:hover::before {
  clip-path: polygon(
    0% 10%,
    100% 0%,
    98% 100%,
    0% 90%
  );
}
.book-now-btn:hover,
.book-now-btn:hover a,
.header-button:hover,
.header-button:hover a {
  box-shadow: none !important;
}

.fill-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Collapse the double-border pixel gap between adjacent 2-column rows
   on any page using the alternating image/text wave layout */
.kt-row-column-wrap:has(.image-wave-right),
.kt-row-column-wrap:has(.image-wave-left) {
  column-gap: 0 !important;
}

/* ---- Reusable white wave: add .wcwp-wave-bottom to any full-width hero/image section ---- */
.wcwp-wave-bottom {
  position: relative;
  overflow: visible !important;
}

.wcwp-wave-bottom::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 64px;
  z-index: 2;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: max(100%, 1100px) 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%23ffffff' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---- Mobile image seams: wavy blue + beige strips at top & bottom of images ---- */
@media (max-width: 768px) {
  /* Ensure image columns have enough height even when inner content is empty.
     The :has(:empty) spacer-collapse rule elsewhere zeros padding on these rows,
     so we set min-height directly on kt-inside-inner-col (where the background
     image lives) to guarantee a visible image between the wavy overlays. */
  .image-wave-right > .kt-inside-inner-col,
  .image-wave-left > .kt-inside-inner-col {
    min-height: 300px !important;
  }

  /* Top seam — beige (front) → beige → blue (back), pointing down into image */
  .image-wave-right::before,
  .image-wave-left::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -2px;
    height: 72px;
    z-index: 3;
    pointer-events: none;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%236aadb2' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E");
    background-size:
      max(100%, 1100px) 30px,
      max(100%, 1100px) 48px,
      max(100%, 1100px) 72px;
    background-position: top center, top center, top center;
    background-repeat: no-repeat, no-repeat, no-repeat;
  }

  /* Bottom seam — same shapes flipped vertically, beige above teal */
  .image-wave-right::after,
  .image-wave-left::after {
    content: "";
    display: block !important;
    position: absolute;
    left: 0;
    right: 0;
		bottom: -27px;
    height: 72px;
    z-index: 3;
    pointer-events: none;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%236aadb2' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E");
    background-size:
      max(100%, 1100px) 30px,
      max(100%, 1100px) 48px,
      max(100%, 1100px) 72px;
    background-position: bottom center, bottom center, bottom center;
    background-repeat: no-repeat, no-repeat, no-repeat;
  }
}

/* ---- Beige-variant mobile wave seam (for beige-background sections) ---- */
.wcwp-wave-seam-beige {
  position: relative;
}

@media (max-width: 768px) {
  /* Top seam — beige (front) → beige → blue (back), pointing down into section */
  .wcwp-wave-seam-beige::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 10px;
    height: 72px;
    z-index: 999;
    pointer-events: none;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cpath fill='%236aadb2' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/svg%3E");
    background-size:
      max(100%, 1100px) 30px,
      max(100%, 1100px) 48px,
      max(100%, 1100px) 72px;
    background-position: top center, top center, top center;
    background-repeat: no-repeat, no-repeat, no-repeat;
  }

  /* Bottom seam — same shapes flipped vertically, pointing up into section */
  .wcwp-wave-seam-beige::after {
    content: "";
    display: block !important;
    position: absolute;
    left: 0;
    right: 0;
    top: auto;           /* override wcwp-jagged-panel::after's top: 0 */
    width: auto;         /* override wcwp-jagged-panel::after's width: 100px */
    clip-path: none;     /* override wcwp-jagged-panel::after's clip-path */
    background-color: transparent; /* override wcwp-jagged-panel::after's background: #6aadb2 */
    bottom: 10px;
    height: 72px;
    z-index: 99;
    pointer-events: none;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%23f2f3d3' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%236aadb2' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E");
    background-size:
      max(100%, 1100px) 30px,
      max(100%, 1100px) 48px,
      max(100%, 1100px) 72px;
    background-position: bottom center, bottom center, bottom center;
    background-repeat: no-repeat, no-repeat, no-repeat;
  }
}

/* ===== Events Page V2 — Redesign ===== */

/* Page background override — navy */
body.page-id-14601 {
  background: #1b2340 !important;
}
/* Force white on header + everything above content */
body.page-id-14601 #wrapper,
body.page-id-14601 #masthead,
body.page-id-14601 #masthead *,
body.page-id-14601 .site-header-wrap {
  background-color: transparent !important;
}
body.page-id-14601 #masthead {
  background: #ffffff !important;
}
/* Restore navy dropdown background (the #masthead * rule above clears it) */
body.page-id-14601 #masthead ul.sub-menu,
body.page-id-14601 #masthead ul.submenu {
  background-color: #1b2340 !important;
}
body.page-id-14601 #masthead ul.sub-menu li.menu-item > a:hover,
body.page-id-14601 #masthead ul.sub-menu li.menu-item.current-menu-item > a {
  background-color: #1b2340 !important;
}
/* Navy on content area only */
.page-id-14601 .content-area,
.page-id-14601 .content-bg,
.page-id-14601 .site-container,
.page-id-14601 .content-wrap,
.page-id-14601 .entry-content,
.page-id-14601 .entry-content-wrap,
.page-id-14601 .entry.single-entry {
  background: #1b2340 !important;
}
/* Remove content-area margins so sections go edge-to-edge */
.page-id-14601 .content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.page-id-14601 .entry-content-wrap {
  padding: 0 !important;
}

body.page-id-15307 {
  background: #1b2340 !important;
}
/* Match All Events page chrome treatment on Swimming */
body.page-id-15307 #wrapper,
body.page-id-15307 #masthead,
body.page-id-15307 #masthead *,
body.page-id-15307 .site-header-wrap {
  background-color: transparent !important;
}
body.page-id-15307 #masthead {
  background: #ffffff !important;
}
body.page-id-15307 #masthead ul.sub-menu,
body.page-id-15307 #masthead ul.submenu {
  background-color: #1b2340 !important;
}
body.page-id-15307 #masthead ul.sub-menu li.menu-item > a:hover,
body.page-id-15307 #masthead ul.sub-menu li.menu-item.current-menu-item > a {
  background-color: #1b2340 !important;
}
.page-id-15307 .content-area,
.page-id-15307 .content-bg,
.page-id-15307 .site-container,
.page-id-15307 .content-wrap,
.page-id-15307 .entry-content,
.page-id-15307 .entry-content-wrap,
.page-id-15307 .entry.single-entry {
  background: #1b2340 !important;
}
.page-id-15307 .content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.page-id-15307 .entry-content-wrap {
  padding: 0 !important;
}

/* Match All Events page chrome treatment on most pages.
   Explicit exclusions: cookie policy, water quality, partnerships,
   parking, concessions, FAQs. */
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) {
  background: #1b2340 !important;
}
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) #wrapper,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) #masthead,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) #masthead *,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .site-header-wrap {
  background-color: transparent !important;
}
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) #masthead {
  background: #ffffff !important;
}
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) #masthead ul.sub-menu,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) #masthead ul.submenu {
  background-color: #1b2340 !important;
}
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) #masthead ul.sub-menu li.menu-item > a:hover,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) #masthead ul.sub-menu li.menu-item.current-menu-item > a {
  background-color: #1b2340 !important;
}
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .content-area,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .content-bg,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .site-container,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .content-wrap,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .entry-content,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .entry-content-wrap,
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .entry.single-entry {
  background: #1b2340 !important;
}
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.page:not(.page-id-52):not(.page-id-15094):not(.page-id-15092):not(.page-id-15097):not(.page-id-15091):not(.page-id-14832) .entry-content-wrap {
  padding: 0 !important;
}

/* --- Hero --- */
.page-id-14601 .wcwp-events-hero {
  min-height: 50vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: visible !important;
}
/* Hero overlay gradient via pseudo-element (Kadence gradient overlay not rendering properly) */
.page-id-14601 .wcwp-events-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(27,35,64,0.25) 0%, rgba(27,35,64,0.85) 100%);
  z-index: 1;
  pointer-events: none;
}
/* Navy wave sitting on bottom of hero (like Swimming page) */
.page-id-14601 .wcwp-events-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 50px;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: max(100%, 1100px) 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 0 2000 100' preserveAspectRatio='none'%3E%3Cg transform='translate(0%2C100) scale(1%2C-1)'%3E%3Cpath fill='%231b2340' d='M0 0H2400V10c-70 10-110 22-170 26-80 6-140-14-220-10-90 5-120 28-220 32-110 4-170-28-280-22-110 6-140 34-260 38-140 5-190-35-320-28-120 6-170 40-300 44-120 4-160-22-270-18-90 4-150 22-160 24V0Z'/%3E%3C/g%3E%3C/svg%3E");
}
.page-id-14601 .wcwp-events-hero .kt-row-column-wrap {
  position: relative;
  z-index: 2;
}
.page-id-14601 .wcwp-events-hero h1 {
  color: #f2f3d3 !important;
  font-size: 72px;
  line-height: 1.1;
  margin-bottom: 12px;
}
.page-id-14601 .wcwp-events-hero p {
  color: #f2f3d3 !important;
  font-size: 1.15rem;
  max-width: 540px;
}
@media (max-width: 768px) {
  .page-id-14601 .wcwp-events-hero {
    min-height: 40vh;
  }
  .page-id-14601 .wcwp-events-hero h1 {
    font-size: 48px;
  }
}


/* --- Featured Event Hero Card --- */
.wcwp-featured-event {
  position: relative;
  min-height: 380px;
  border-radius: 18px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: 0 6px 28px rgba(0,0,0,0.18);
  border-left: 6px solid #6aadb2;
  margin: 32px 20px 40px;
}
.wcwp-featured-event__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 40px 36px 36px;
  background: linear-gradient(0deg, rgba(27,35,64,0.92) 0%, rgba(27,35,64,0.6) 60%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.wcwp-featured-event__date {
  display: inline-block;
  background: #1b2340;
  color: #fff;
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 14px;
  width: fit-content;
}
.wcwp-featured-event__title {
  color: #fff !important;
  font-size: 2rem;
  line-height: 1.2;
  margin: 0 0 8px;
}
.wcwp-featured-event__subtitle {
  color: rgba(255,255,255,0.88) !important;
  font-size: 1rem;
  margin: 0 0 18px;
}
.wcwp-featured-event__cta {
  display: inline-block;
  background: #a9c84b;
  color: #1b2340 !important;
  padding: 12px 28px;
  border-radius: 30px;
  font-weight: 700;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease;
  width: fit-content;
}
.wcwp-featured-event__cta:hover {
  background: #c2e05a;
  transform: translateY(-2px);
}
@media (max-width: 768px) {
  .wcwp-featured-event {
    min-height: 300px;
    margin: 20px 12px 28px;
  }
  .wcwp-featured-event__overlay {
    padding: 28px 20px 24px;
  }
  .wcwp-featured-event__title {
    font-size: 1.5rem;
  }
}

/* --- Section Headings (on navy background) --- */
.page-id-14601 .wcwp-events-section-heading {
  color: #f2f3d3 !important;
  font-size: 3rem;
  font-weight: 700;
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .page-id-14601 .wcwp-events-section-heading {
    font-size: 2.2rem;
  }
}
.page-id-14601 .wcwp-events-section-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 80px;
  height: 5px;
  background: #6aadb2;
  border-radius: 2px;
}

/* --- Upcoming & Past Events Grid — Shared Tile Styles --- */

/* Remove global EventON margins */
.page-id-14601 .ajde_evcal_calendar,
.page-id-14601 .eventon_events_list {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* Tile card base */
.page-id-14601 .ajde_evcal_calendar.boxy .eventon_list_event {
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0,0,0,0.12);
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.4s ease, opacity 0.4s ease;
}
.page-id-14601 .ajde_evcal_calendar.boxy .eventon_list_event:hover {
  transform: translateY(-4px) scale(1.01) !important;
  box-shadow: 0 10px 32px rgba(0,0,0,0.22) !important;
}

/* Image fills card */
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evo_boxtop {
  background-size: cover !important;
  background-position: center !important;
  border-radius: 18px !important;
}

/* Top border brand colour cycling */
.page-id-14601 #wcwp-upcoming .eventon_list_event:nth-child(7n+1) { border-top: 4px solid #6aadb2 !important; }
.page-id-14601 #wcwp-upcoming .eventon_list_event:nth-child(7n+2) { border-top: 4px solid #a9c84b !important; }
.page-id-14601 #wcwp-upcoming .eventon_list_event:nth-child(7n+3) { border-top: 4px solid #d86868 !important; }
.page-id-14601 #wcwp-upcoming .eventon_list_event:nth-child(7n+4) { border-top: 4px solid #1b2340 !important; }
.page-id-14601 #wcwp-upcoming .eventon_list_event:nth-child(7n+5) { border-top: 4px solid #a4cfa7 !important; }
.page-id-14601 #wcwp-upcoming .eventon_list_event:nth-child(7n+6) { border-top: 4px solid #dd979c !important; }
.page-id-14601 #wcwp-upcoming .eventon_list_event:nth-child(7n+0) { border-top: 4px solid #5d4829 !important; }

/* Date badge: navy pill, top-left */
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 #evcal_list .eventon_list_event .evoet_c2.evoet_cx .evoet_dayblock {
  background-color: rgba(27,35,64,0.92) !important;
  border-radius: 12px !important;
}

/* Details overlay: semi-transparent white strip */
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evoet_c3.evoet_cx {
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(4px);
}
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evoet_c3.evoet_cx span.evcal_event_title {
  color: #1b2340 !important;
  font-weight: 700;
}
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evoet_c3.evoet_cx .evcal_event_subtitle,
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evoet_c3.evoet_cx .evcal_cblock,
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evoet_c3.evoet_cx .evcal_cblock em,
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evoet_c3.evoet_cx .evcal_cblock span {
  color: #4a5568 !important;
}

/* Date badge text stays white */
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evoet_c2.evoet_cx span,
.page-id-14601 .ajde_evcal_calendar.boxy.boxstyle3 .evoet_c2.evoet_cx em {
  color: #fff !important;
}

/* Month headers: teal pills */
.page-id-14601 .ajde_evcal_calendar .evcal_month_line p {
  background: #6aadb2 !important;
  color: #fff !important;
  padding: 10px 28px !important;
  border-radius: 24px !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  display: inline-block !important;
}
.page-id-14601 .ajde_evcal_calendar .evcal_month_line {
  text-align: left !important;
  padding: 8px 0 !important;
  border: none !important;
}

/* --- Past Events: greyscale + colour on hover --- */
.page-id-14601 .wcwp-past-events .eventon_list_event {
  filter: grayscale(100%);
  opacity: 0.65;
}
.page-id-14601 .wcwp-past-events .eventon_list_event:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* Past events top border colour cycling */
.page-id-14601 .wcwp-past-events .eventon_list_event:nth-child(7n+1) { border-top: 4px solid #6aadb2 !important; }
.page-id-14601 .wcwp-past-events .eventon_list_event:nth-child(7n+2) { border-top: 4px solid #a9c84b !important; }
.page-id-14601 .wcwp-past-events .eventon_list_event:nth-child(7n+3) { border-top: 4px solid #d86868 !important; }
.page-id-14601 .wcwp-past-events .eventon_list_event:nth-child(7n+4) { border-top: 4px solid #1b2340 !important; }
.page-id-14601 .wcwp-past-events .eventon_list_event:nth-child(7n+5) { border-top: 4px solid #a4cfa7 !important; }
.page-id-14601 .wcwp-past-events .eventon_list_event:nth-child(7n+6) { border-top: 4px solid #dd979c !important; }
.page-id-14601 .wcwp-past-events .eventon_list_event:nth-child(7n+0) { border-top: 4px solid #5d4829 !important; }

/* Hidden past events beyond 6 */
.page-id-14601 .wcwp-past-events .eventon_list_event.wcwp-hidden {
  display: none !important;
}

/* Show All button */
.wcwp-show-all-wrap {
  text-align: center;
  padding: 16px 0 32px;
}
.wcwp-show-all-btn {
  background: #6aadb2;
  color: #fff;
  border: none;
  padding: 13px 32px;
  border-radius: 30px;
  font-size: 0.9375rem;
  font-family: inherit;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, transform 0.15s ease;
}
.wcwp-show-all-btn:hover {
  background: #6aadb2;
  transform: translateY(-2px);
}

/* --- Desktop/mobile shortcode visibility toggle --- */
.page-id-14601 .wcwp-tiles-mobile { display: none; }
@media (max-width: 768px) {
  .page-id-14601 .wcwp-tiles-desktop { display: none; }
  .page-id-14601 .wcwp-tiles-mobile  { display: block; }
}

/* --- Mobile tiles: boxstyle1 brand colours --- */
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+1) { border-top: 4px solid #6aadb2 !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+2) { border-top: 4px solid #a9c84b !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+3) { border-top: 4px solid #d86868 !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+4) { border-top: 4px solid #1b2340 !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+5) { border-top: 4px solid #a4cfa7 !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+6) { border-top: 4px solid #dd979c !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+0) { border-top: 4px solid #5d4829 !important; }

/* Mobile tile content backgrounds */
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+1) .evcal_list_a { background-color: #6aadb2 !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+2) .evcal_list_a { background-color: #a9c84b !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+3) .evcal_list_a { background-color: #d86868 !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+4) .evcal_list_a { background-color: #1b2340 !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+5) .evcal_list_a { background-color: #a4cfa7 !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+6) .evcal_list_a { background-color: #dd979c !important; }
.page-id-14601 .wcwp-tiles-mobile .eventon_list_event:nth-child(7n+0) .evcal_list_a { background-color: #5d4829 !important; }

/* Mobile tile text */
.page-id-14601 .wcwp-tiles-mobile .ajde_evcal_calendar.boxy.boxstyle1 .eventon_list_event .evcal_desc span.evcal_event_title,
.page-id-14601 .wcwp-tiles-mobile .ajde_evcal_calendar.boxy.boxstyle1 .eventon_list_event .evcal_cblock,
.page-id-14601 .wcwp-tiles-mobile .ajde_evcal_calendar.boxy.boxstyle1 .eventon_list_event .evcal_cblock em,
.page-id-14601 .wcwp-tiles-mobile .ajde_evcal_calendar.boxy.boxstyle1 .eventon_list_event .evcal_cblock span {
  color: #fff !important;
}

/* Mobile tile image */
.page-id-14601 .wcwp-tiles-mobile .ajde_evcal_calendar.boxy.boxstyle1 .evo_boxtop {
  background-size: cover !important;
  background-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Mobile tile inner cleanup */
.page-id-14601 .wcwp-tiles-mobile .ajde_evcal_calendar.boxy.boxstyle1 .evcal_list_a,
.page-id-14601 .wcwp-tiles-mobile .ajde_evcal_calendar.boxy.boxstyle1 .desc_trig {
  border-radius: 0 !important;
  border: none !important;
}
.page-id-14601 .wcwp-tiles-mobile .ajde_evcal_calendar.boxy.boxstyle1 .desc_trig_outter {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Mobile past events greyscale */
.page-id-14601 .wcwp-tiles-mobile.wcwp-past-events .eventon_list_event {
  filter: grayscale(100%);
  opacity: 0.65;
}
.page-id-14601 .wcwp-tiles-mobile.wcwp-past-events .eventon_list_event:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* --- CTA Band --- */
.page-id-14601 .wcwp-events-cta {
  background: #1b2340;
  text-align: center;
  padding: 60px 20px;
}
.page-id-14601 .wcwp-events-cta h2 {
  color: #f2f3d3 !important;
  font-size: 2rem;
  margin-bottom: 12px;
}
.page-id-14601 .wcwp-events-cta p {
  color: #f2f3d3 !important;
  font-size: 1.1rem;
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .page-id-14601 .wcwp-events-cta {
    padding: 40px 16px;
  }
  .page-id-14601 .wcwp-events-cta h2 {
    font-size: 1.5rem;
  }
}

/* --- Newsletter Signup (green wavy gradient, same as Swimming V3) --- */
@keyframes wcwp-nl-gradient-events {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
body.page-id-14601 .wcwp-swim-v3-newsletter {
  background: linear-gradient(135deg, #1b2340 0%, #6aadb2 40%, #a4cfa7 70%, #6aadb2 100%) !important;
  background-size: 300% 300%;
  animation: wcwp-nl-gradient-events 8s ease infinite;
  margin: 40px 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden !important;
}
body.page-id-14601 .wcwp-swim-v3-newsletter::before {
  content: '';
  display: block;
  width: 100%;
  height: 40px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath fill='%231b2340' d='M0 0v20c120 15 240 20 360 15s240-18 360-15 240 15 360 18 240-8 360-18V0z'/%3E%3C/svg%3E") no-repeat;
  background-size: 100% 100%;
}
body.page-id-14601 .wcwp-swim-v3-newsletter::after {
  content: '';
  display: block;
  width: 100%;
  height: 40px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath fill='%231b2340' d='M0 40V20c120-15 240-20 360-15s240 18 360 15 240-15 360-18 240 8 360 18V40z'/%3E%3C/svg%3E") no-repeat;
  background-size: 100% 100%;
}
body.page-id-14601 .wcwp-swim-v3-newsletter .kt-inside-inner-col {
  padding: 48px 24px !important;
}
body.page-id-14601 .wcwp-swim-v3-newsletter h2.wp-block-heading {
  color: #ffffff !important;
  font-size: 2.2rem;
  font-weight: 800;
  margin-bottom: 4px;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
  letter-spacing: -0.02em;
}
body.page-id-14601 .wcwp-swim-v3-newsletter p {
  color: rgba(255, 255, 255, 0.9) !important;
  margin-bottom: 24px;
  font-size: 1.05rem;
}
body.page-id-14601 .wcwp-swim-v3-signup-form {
  display: flex;
  gap: 0;
  max-width: 480px;
  margin: 0 auto;
  border-radius: 50px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 1;
}
body.page-id-14601 .wcwp-swim-v3-signup-form input[type="email"] {
  flex: 1;
  padding: 14px 20px;
  border: none;
  border-radius: 0;
  font-size: 1rem;
  background: #ffffff;
  color: #1b2340;
  outline: none;
}
body.page-id-14601 .wcwp-swim-v3-signup-form input[type="email"]::placeholder {
  color: #aaa;
}
body.page-id-14601 .wcwp-swim-v3-signup-form button {
  padding: 14px 28px;
  background: #d86868;
  color: #ffffff;
  border: none;
  border-radius: 0;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, transform 0.15s ease;
  letter-spacing: 0.02em;
}
body.page-id-14601 .wcwp-swim-v3-signup-form button:hover {
  background: #c45555;
  transform: scale(1.02);
}
@media (max-width: 768px) {
  body.page-id-14601 .wcwp-swim-v3-newsletter h2.wp-block-heading {
    font-size: 1.6rem;
  }
  body.page-id-14601 .wcwp-swim-v3-signup-form {
    flex-direction: column;
    border-radius: 12px;
  }
  body.page-id-14601 .wcwp-swim-v3-signup-form input[type="email"] {
    border-radius: 12px 12px 0 0;
  }
  body.page-id-14601 .wcwp-swim-v3-signup-form button {
    border-radius: 0 0 12px 12px;
  }
}

/* --- V3 CTA Section (shared with Home V3) --- */
.page-id-14601 .wcwp-v3-wave {
  line-height: 0;
  margin-top: -2px;
}
.page-id-14601 .wcwp-v3-wave svg {
  width: 100%;
  height: 60px;
  display: block;
}
.page-id-14601 .wcwp-v3-cta-bg.wp-block-kadence-rowlayout {
  background-color: #f2f3d3 !important;
}
.page-id-14601 .wcwp-v3-cta-bg .kt-row-column-wrap {
  padding: 44px 24px !important;
  max-width: 1140px;
  margin: 0 auto;
}
@media (max-width: 480px) {
  .page-id-14601 .wcwp-v3-cta-bg .kt-row-column-wrap { padding: 30px 16px !important; }
}
.page-id-14601 .wcwp-v3-cta-bg .kt-inside-inner-col {
  text-align: center !important;
  padding: 90px 28px !important;
  position: relative;
  overflow: hidden;
  background: none !important;
}
@media (max-width: 768px) {
  .page-id-14601 .wcwp-v3-cta-bg .kt-inside-inner-col { padding: 32px 20px !important; }
}
.page-id-14601 .wcwp-v3-cta-bg .wp-block-heading {
  font-family: 'Sora', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  color: #1b2340 !important;
  margin-bottom: 16px !important;
  position: relative;
  z-index: 1;
}
.page-id-14601 .wcwp-v3-cta-sub {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.12rem !important;
  color: rgba(27,35,64,0.60) !important;
  margin-bottom: 40px !important;
  position: relative;
  z-index: 1;
}
.page-id-14601 .wcwp-v3-cta-watermark {
  position: absolute;
  right: -20px;
  bottom: -30px;
  width: clamp(200px, 28vw, 350px);
  opacity: 0.07;
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 480px) {
  .page-id-14601 .wcwp-v3-cta-watermark { display: none; }
}
.page-id-14601 .wcwp-v3-cta-bg .kb-buttons-wrap a[class*="kt-button"],
.page-id-14601 .wcwp-v3-cta-bg .book-now-btn a {
  background: #d86868 !important;
  color: #fff !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.375rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border-radius: 0 !important;
  padding: 14px 22px !important;
  box-shadow: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, clip-path 0.25s ease !important;
  border: none !important;
  min-width: 200px;
  text-align: center;
  clip-path: polygon(0% 0%, 98% 6%, 100% 94%, 2% 100%);
}
.page-id-14601 .wcwp-v3-cta-bg .kb-buttons-wrap a[class*="kt-button"]:hover,
.page-id-14601 .wcwp-v3-cta-bg .book-now-btn a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(216,104,104,0.4) !important;
  color: #fff !important;
  clip-path: polygon(0% 10%, 100% 0%, 98% 100%, 0% 90%);
}

/* ===== End Events Page V2 ===== */


/* =============================================
   EventON — Book Now CTA button in event popup
   ============================================= */

.evo_metarow_learnmore {
  padding: 16px 20px 4px !important;
  border-top: none !important;
}
.evo_metarow_learnmore .evcal_evdata_row {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background-color: #1b2340 !important;
  color: #fff !important;
  text-decoration: none !important;
  padding: 13px 32px !important;
  border-radius: 30px !important;
  transition: background-color 0.2s ease;
  box-sizing: border-box;
}
.evo_metarow_learnmore .evcal_evdata_row:hover {
  background-color: #6aadb2 !important;
  color: #fff !important;
}
.evo_metarow_learnmore .evcal_evdata_icons {
  display: none !important;
}
.evo_metarow_learnmore .evo_h3 {
  color: #fff !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  text-align: center;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0.03em;
}

/* ===== Kadence row seam fix ===== */
.single-content .wp-block-kadence-rowlayout {
  position: relative;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.single-content .wp-block-kadence-rowlayout + .wp-block-kadence-rowlayout {
  margin-top: -2px !important;
}

.single-content .wp-block-kadence-rowlayout .kt-row-layout-top-sep,
.single-content .wp-block-kadence-rowlayout .kt-row-layout-bottom-sep {
  line-height: 0;
  pointer-events: none;
}

.single-content .wp-block-kadence-rowlayout .kt-row-layout-top-sep {
  top: -1px;
}

.single-content .wp-block-kadence-rowlayout .kt-row-layout-bottom-sep {
  bottom: -1px;
}

.single-content .wp-block-kadence-rowlayout .kt-row-layout-top-sep svg,
.single-content .wp-block-kadence-rowlayout .kt-row-layout-bottom-sep svg {
  display: block;
}


/* Trim empty Kadence spacer rows so they do not create fake gaps */
.single-content .wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col:empty) > .kt-row-column-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}


/* Tighten repeated bottom newsletter stack used on activity pages */
.single-content .kb-row-layout-id14290_1a288e-9f > .kt-row-column-wrap,
.single-content .kb-row-layout-id14290_d26533-f0 > .kt-row-column-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* Reduce vertical height of the shared green wavy newsletter band */
.single-content .wcwp-swim-v3-newsletter > .kt-row-column-wrap {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.single-content .wcwp-swim-v3-newsletter .kt-inside-inner-col {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

@media (max-width: 768px) {
  .single-content .wcwp-swim-v3-newsletter::before,
  .single-content .wcwp-swim-v3-newsletter::after {
    height: 44px;
  }

  .single-content .wcwp-swim-v3-newsletter > .kt-row-column-wrap {
    padding-top: 6px !important;
    padding-right: 12px !important;
    padding-bottom: 6px !important;
    padding-left: 12px !important;
  }

  .single-content .wcwp-swim-v3-newsletter .kt-inside-inner-col {
    padding-top: 2px !important;
    padding-right: 4px !important;
    padding-bottom: 2px !important;
    padding-left: 4px !important;
  }

  .single-content .wcwp-swim-v3-newsletter p {
    margin-bottom: 16px !important;
  }

  .single-content .wcwp-swim-v3-signup-form {
    max-width: none;
    width: 100%;
  }

  .single-content .wcwp-swim-v3-newsletter::before {
    position: relative;
    top: -4px;
  }

  .single-content .wcwp-swim-v3-newsletter::after {
    position: relative;
    bottom: -2px;
  }
}

.single-content .kb-row-layout-id14290_adfa2a-27 {
  margin-top: -2px !important;
  margin-bottom: -2px !important;
}

.single-content .kb-row-layout-id14290_adfa2a-27 .kt-blocks-info-box-link-wrap {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* ===== MOBILE SIDEBAR REDESIGN ===== */

/* --- Drawer panel --- */
#mobile-drawer .drawer-inner {
  background: linear-gradient(160deg, #1b2340 0%, #0f1525 100%);
  max-width: 82%;
  border-left: 3px solid #6aadb2;
  box-shadow: -8px 0 40px rgba(0, 0, 0, 0.5);
}

/* Frosted overlay behind drawer */
#mobile-drawer .drawer-overlay {
  background: rgba(10, 14, 30, 0.72);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

/* --- Drawer header --- */
#mobile-drawer .drawer-header {
  padding: 0.9em 1.2em;
  border-bottom: 1px solid rgba(106, 173, 178, 0.2);
  min-height: 64px;
  align-items: center;
}

/* --- Close (X) button --- */
#mobile-drawer .drawer-header .drawer-toggle {
  width: 40px !important;
  height: 40px !important;
  font-size: 1.125rem !important;
  background: rgba(106, 173, 178, 0.12) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: #ffffff !important;
  transition: background 0.25s ease, transform 0.3s ease !important;
  padding: 0 !important;
}

#mobile-drawer .drawer-header .drawer-toggle:hover {
  background: rgba(106, 173, 178, 0.28) !important;
  transform: rotate(90deg);
  box-shadow: none !important;
}

/* Close X bars */
#mobile-drawer .toggle-close-bar {
  background: #ffffff;
  border-radius: 2px;
}

/* --- Drawer content padding --- */
#mobile-drawer .drawer-content {
  padding: 0.5em 0 2.5em;
}

/* --- Top-level nav items --- */
.mobile-navigation ul li {
  font-size: 1rem !important;
}

.mobile-navigation ul li > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
  color: #ffffff !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}

.mobile-navigation ul li a {
  padding-top: 1em !important;
  padding-bottom: 1em !important;
  padding-left: 1.5em;
}

/* Separators */
.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap,
.mobile-navigation ul li:not(.menu-item-has-children) a {
  border-bottom: 1px solid rgba(106, 173, 178, 0.15) !important;
}

/* --- Hover state --- */
.mobile-navigation ul li a:hover {
  color: #6aadb2 !important;
}

.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap:hover > a {
  color: #6aadb2 !important;
}

/* --- Current/active page --- */
.mobile-navigation ul li.current-menu-item > a,
.mobile-navigation ul li.current-menu-ancestor > a,
.mobile-navigation ul li.current-menu-item > .drawer-nav-drop-wrap > a,
.mobile-navigation ul li.current-menu-ancestor > .drawer-nav-drop-wrap > a {
  color: #6aadb2 !important;
}

/* --- Dropdown toggle arrow button --- */
.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap button {
  color: rgba(255, 255, 255, 0.5) !important;
  border-left: 1px solid rgba(106, 173, 178, 0.15) !important;
  transition: color 0.2s ease, background 0.2s ease;
  padding: 0 1em !important;
}

.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap button:hover {
  color: #6aadb2 !important;
  background: rgba(106, 173, 178, 0.08);
}

/* Rotate arrow when sub-menu is open */
.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap button[aria-expanded="true"] {
  color: #6aadb2 !important;
  transform: rotate(180deg);
}

/* --- Sub-menus --- */
.mobile-navigation .sub-menu {
  background: rgba(0, 0, 0, 0.2);
  border-left: 2px solid rgba(106, 173, 178, 0.3);
  margin-left: 1.5em;
}

.mobile-navigation .sub-menu li {
  font-size: 0.875rem !important;
}

.mobile-navigation .sub-menu li a {
  color: rgba(255, 255, 255, 0.8) !important;
  font-weight: 400;
  padding-left: 1.2em !important;
  letter-spacing: 0.01em;
}

.mobile-navigation .sub-menu li a:hover {
  color: #6aadb2 !important;
}

/* --- Hamburger toggle button --- */
.mobile-toggle-open-container .menu-toggle-open {
  color: var(--global-palette3) !important;
  padding: 0.45em 0.65em !important;
  border-radius: 8px;
  transition: color 0.2s ease, background 0.2s ease !important;
}

.mobile-toggle-open-container .menu-toggle-open:hover,
.mobile-toggle-open-container .menu-toggle-open:focus-visible {
  color: #6aadb2 !important;
  background: rgba(106, 173, 178, 0.1);
}

.mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon {
  font-size: 1.5rem !important;
}

/* Accessibility: visible keyboard focus indicator */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #1b2340;
  outline-offset: 3px;
}

/* Home Redesign V2 — strip Kadence page margins/padding/shadow */
body.page-id-15204 .content-area { margin-top: 0 !important; margin-bottom: 0 !important; }
body.page-id-15204 .entry-content-wrap { padding: 0 !important; }
body.page-id-15204 .entry.single-entry { box-shadow: none !important; }

/* Remove top/bottom padding from text columns on mobile */
@media (max-width: 768px) {
  .text-col-left > .kt-inside-inner-col,
  .text-col-right > .kt-inside-inner-col {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Page custom CSS pushes all image-wave columns to the absolute front.
     On stacked mobile cards that makes the teal image wave cover the beige
     text wave. Put the text column back above the image within V3 rows. */
  .wcwp-swim-v3-row .image-wave-left,
  .wcwp-swim-v3-row .image-wave-right {
    z-index: 1 !important;
  }

  .wcwp-swim-v3-row .wcwp-swim-v3-text {
    position: relative;
    z-index: 2 !important;
  }

  .wcwp-swim-v3-row .wcwp-swim-v3-text::before {
    z-index: 3 !important;
  }
}


/* Home Redesign V3 — strip Kadence page margins/padding/shadow */
body.page-id-15215 .content-area { margin-top: 0 !important; margin-bottom: 0 !important; }
body.page-id-15215 .entry-content-wrap { padding: 0 !important; }
body.page-id-15215 .entry.single-entry { box-shadow: none !important; }

/* Home Redesign V4/V5/V6 — strip Kadence page margins/padding/shadow */
body.page-id-15225 .content-area,
body.page-id-15226 .content-area,
body.page-id-15227 .content-area { margin-top: 0 !important; margin-bottom: 0 !important; }
body.page-id-15225 .entry-content-wrap,
body.page-id-15226 .entry-content-wrap,
body.page-id-15227 .entry-content-wrap { padding: 0 !important; }
body.page-id-15225 .entry.single-entry,
body.page-id-15226 .entry.single-entry,
body.page-id-15227 .entry.single-entry { box-shadow: none !important; }
