/*
 * GSAP Hero Block Styles
 * Front-end styling for custom block
 */


 .jarallax{position:relative;z-index:0}.jarallax>.jarallax-img,picture.jarallax-img img{position:absolute;object-fit:cover;top:0;left:0;width:100%;height:100%;z-index:-1}


.gsap-heart-container {
  position: relative;
  overflow-x:hidden;
  height:100%;
}

.gsap-heart-container .container,
.reveal-benefits .container {
  max-width: 1280px;
  margin: 0 auto;
}

.gsap-heart-container .container-wide {
  margin: 0 auto;
}

.z-over {
  z-index:30;
  position:relative;
}

.relative {
  position:relative; 
}

.text-bold {
  font-weight: 900;
}

.w-full {
  width: 100%;
}

.flex {
  display: flex;
}

.items-center {
  align-items: center;
}

.space-x-2 {
  gap: 2rem;
}

.space-x-3 {
  gap: 3rem;
}

.space-x-4 {
  gap: 4rem;
}

.space-x-5 {
  gap: 5rem;
}

.space-x-6 {
  gap: 6rem;
}

.space-x-7 {
  gap: 7rem;
}

.w-half {
  width: 50%;
}

.w-third {
  width: 33%;
}

.w-twothirds {
  width: 66%;
}

.text-xs {
  font-size: 0.8rem !important;
}

.text-right {
  text-align:right;
}



/* Split Text */

.hh-split {
  overflow: hidden;
  visibility: hidden; /* hide until JS runs */
}

.hh-split .ts-line {
  display: block;
}



/* Image reveals */

.reveal img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transform-origin: left;
}

.reveal {
  visibility: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 20px;
}



/* Buttons */

.wp-block-button {
  display: inline-block;
  margin: 0;
}

.wp-block-button__link {
  width: 100%;
}

.has-red-background-color {
  background-color: var(--wp--preset--color--red) !important;
}

.has-red-background-color, .wc-block-mini-cart__shopping-button a, .wc-block-components-checkout-place-order-button, .wc-block-components-button, .wc-block-components-product-button__button {
  --pulse-color: rgba(200, 30, 30, 0.5);
}

:root :where(.wp-element-button, .wp-block-button__link) {
  background-color: var(--wp--preset--color--red);
  border-radius: 50px;
  border-width: 0;
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: inherit;
  font-style: normal;
  font-weight: 700;
  line-height: inherit;
  padding-top: 10px;
  padding-right: 16px;
  padding-bottom: 10px;
  padding-left: 16px;
  text-decoration: none;
}

.wp-block-button .wp-block-button__link:hover, 
.wp-block-button .wp-block-button__link:focus {
  animation: borderPulse 2000ms infinite ease-out, hoverShine 200ms;
  transform-origin: center;
}





/* CODEPEN *


/* === Hero Section === */

.hero-bg-image {
  position: absolute !important;
  top:0;
  left:0;
  right:0;
  bottom: 0;
}

.hero {
  position: relative;
  min-height: calc(100vh - 134px);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--wp--preset--color--navy-blue);
  background-size: cover;
  padding: 2rem;
  text-align: center;
  overflow: hidden;
}

.hero::after{
  content: '';
  background-color: var(--wp--preset--color--navy-blue);
  opacity: 0.8;
  z-index:1;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
}

.hero-icon {
  width:100px;
  height:auto;
  margin-left:2rem;
}

.hero-man-background {
  position: absolute;
  left: -30%;
  bottom: -15%;
  width: 65%;
  opacity: 0.4;
}

.hero-content {
  position: relative;
  z-index: 10;
}

/* Big Heading Animation Target */
.hero-content h1 {
  font-size: clamp(8rem, 16vw, 12rem);
  margin: 0.5rem 0;
  line-height: 0.8;
  /* color: transparent; */
  color: #fff;
  /* -webkit-text-stroke: 1px var(--wp--preset--color--white); */
  /* opacity: 0; */
  /* text-shadow: 0 10px 20px rgba(0, 0, 0, 0.6) !important; */
  /* padding: 1rem;
  background: rgba(47, 76, 134, 0.9); */
}

.hero-content .trustpilot-img {
  margin-top: 4rem;
}

.hero-content h1 .h1-small {
  font-size: 6rem;
}

.hero-content h1.text-thin {
  font-weight: 100;
}


.hero-content .line {
  display: block;
  background: rgba(47, 76, 134, 0.9);
  padding: 1rem;
  /* border-radius: 20px; */
}

/* Bottle wrapper for scroll animation */
.hero-product-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  height: 60rem;
  width: 100%;
  z-index: 4;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index:5;
}

/* Actual bottle image */
.hero-product {
  position: absolute;
  left: 0;
  right: 0;
  top: 8rem;
  width: auto;
  height: 70%;
  margin: 0 auto;
  /* filter: drop-shadow(8px 8px 12px rgba(0, 0, 0, 0.15)); */
  transform: rotate(20deg);
  transition: filter 0.3s ease;
}

.gsap-heart-container .pin-spacer {
  z-index: 2 !important;
}



/* === Responsive Hero Section === */
@media (max-width: 768px) {
  .hero {
    min-height: calc(100vh - 134px);
    align-items: end !important;
  }

  .hero-product-wrapper {
    height: 25rem;
  }

  .hero-content {
    margin-bottom: 4rem;
  }

  .hero-content h1 {
    font-size: 18vw;
  }

  .hero-content h1 .h1-small {
    font-size: 2rem;
  }

  .hero-product {
    top: 6rem !important;
    height: 70% !important;
  }

}

/* === Intro Section (below hero) === */

.section-intro {
  background-color: var(--white);
  padding: 1rem 2rem;
  position: relative;
  /* z-index: 1; */
  min-height: 80vh;
  z-index: 4;
  position: relative;
}

/* === Intro Section Grid Layout === */
.intro-grid {
  display: flex;
  align-items: center;
  gap: 4rem;
  justify-content: space-between;
  min-height: 70vh;
}

/* Left and Right Columns in Intro Section */
.intro-left,
.intro-right {
  max-width: 30%;
}

.intro-left .wp-block-button {
    margin-right: 1.25rem !important;
}

/* Section Label Above Main Heading */
.small-title {
  font-weight: bold;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--wp--preset--color--navy-blue);
  margin-bottom: 1rem;
}


.panel-light-blue {
  background: var(--wp--preset--color--light-grey);
  padding:20px;
  border-radius:20px;
}

/* Main Heading: Heritage Line */
.main-heading {
  font-size: 3rem;
  line-height: 1.2;
  color: var(--wp--preset--color--navy-blue);
  margin-bottom: 1.5rem;
}

/* Intro Paragraph Description */
.description {
  font-size: 1.5rem;
  color: var(--wp--preset--color--black);
  line-height: 1.2;
  margin-bottom: 2rem;
}

/* Call-to-Action Button */
.cta-box {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background-color: var(--sienna);
  color: var(--papaya-whip);
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}

.cta-box:hover {
  background-color: var(--papaya-whip);
  color: var(--sienna);
}



#pulsating-circles {
  width: 800px;
  height: 800px;
  transform: translateX(-1%) translateY(10%);
  z-index: -1;
}

.rounded-img {
  border-radius: 20px;
}


.indicator {
  display: flex;
  align-items: center;
}

.indicator .bullet {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #d27f7d;
  position: relative;
  overflow: visible;
  /* animation: pulse-dot 4s ease-out infinite; */
}

.indicator .bullet.animate::before,
.indicator .bullet.animate::after,
.indicator .bullet.animate span {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #d27f7d;
  top: 0;
  left: 0;
  transform: scale(1);
  animation: circlepulse 4s ease-out infinite;
  opacity: 0;
}

/* Staggered delays for 4 waves */
.bullet.animate::before { animation-delay: 0s; }
.bullet.animate::after  { animation-delay: 0.75s; }
.bullet.animate span:nth-child(1) { animation-delay: 1.5s; }

.bullet.animate {
  animation: pulse-dot 4s ease-out infinite;
}

@keyframes pulse-dot {
  0%, 10% { opacity: 1; }
  80%, 100% { opacity: 0; }
}

@keyframes circlepulse {
  0% {
    transform: scale(1);
    opacity: 0.4;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    transform: scale(10);
    opacity: 0;
  }
}


ul.list-heart::before {
  content: '';
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 171.9L305 151.1C280 116.5 239.9 96 197.1 96C123.6 96 64 155.6 64 229.1L64 231.7C64 255.3 70.2 279.7 80.6 304L186.6 304C189.8 304 192.7 302.1 194 299.1L225.8 222.8C229.5 214 238.1 208.2 247.6 208C257.1 207.8 265.9 213.4 269.8 222.1L321.1 336L362.5 253.2C366.6 245.1 374.9 239.9 384 239.9C393.1 239.9 401.4 245 405.5 253.2L428.7 299.5C430.1 302.2 432.8 303.9 435.9 303.9L559.5 303.9C570 279.6 576.1 255.2 576.1 231.6L576.1 229C576 155.6 516.4 96 442.9 96C400.2 96 360 116.5 335 151.1L320 171.8zM533.6 352L435.8 352C414.6 352 395.2 340 385.7 321L384 317.6L341.5 402.7C337.4 411 328.8 416.2 319.5 416C310.2 415.8 301.9 410.3 298.1 401.9L248.8 292.4L238.3 317.6C229.6 338.5 209.2 352.1 186.6 352.1L106.4 352.1C153.6 425.9 229.4 493.8 276.8 530C289.2 539.4 304.4 544.1 319.9 544.1C335.4 544.1 350.7 539.5 363 530C410.6 493.7 486.4 425.8 533.6 352z"/></svg>');
}

/* === Responsive Intro Section === */
@media (max-width: 768px) {
  .intro-grid {
    text-align: center;
    flex-direction: column;
    gap: 5rem;
  }

  .intro-left,
  .intro-right {
    max-width: 100%;
    width: 100%;
  }

  .intro-left {
    padding-right: 0;
  }

  

  .main-heading {
    font-size: 2.5rem;
  }
}

/* === Ingredients Log Container === */
.ingredients-log {
  background: transparent;
  padding: 1rem 0;
}

/* Ingredients Section Title */
.ingredients-title {
  font-size: 1.75rem;
  color: var(--wp--preset--color--navy-blue);
  margin-bottom: 1rem;
  text-align: left;
}

/* Single Ingredient Entry Layout */
.ingredient-item {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

/* Quantity Value (e.g. 500ml) */
.ingredient-qty {
  font-size: 2.5rem;
  color: var(--wp--preset--color--navy-blue);
  min-width: 90px;
  text-align: left;
  line-height: 1;
}

/* Textual Description of Ingredient */
.ingredient-text {
  max-width: 400px;
}

.ingredient-text strong {
  font-size: 2rem;
  color: var(--wp--preset--color--navy-blue);
  display: block;
  margin-bottom: 0.2rem;
}

.ingredient-text p {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--wp--preset--color--black);
  margin: 0;
}

/* === Responsive Ingredients Layout === */
@media (max-width: 768px) {
  .ingredient-item {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 1rem;
    margin-bottom: 3rem;
  }

  .ingredient-qty {
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
  }

  .ingredient-text {
    max-width: 100%;
  }

  .ingredient-item {
    text-align: left !important;
  }

  .ingredients-title {
    text-align: center;
    font-size: 1.5rem;
  }
}

/* === Timeline Section === */
.timeline-section {
  padding: 6rem 0rem 3rem;
  /* display: flex;
  flex-direction: column; */
  background: var(--wp--preset--color--light-grey);
  position: relative;
  overflow: hidden;
}

/* Each Timeline Entry Block */
.timeline-entry {
  margin: 0;
  padding: 0 2rem 0;
  display: flex;
  gap: 3rem;
  align-items: center;
  min-height: 600px;
  max-width: 50%;
}

/* Alternate Entry Layout (odd/even) */
.timeline-entry:nth-child(odd) {
  margin-left: auto;
}

.timeline-entry:nth-child(odd) .timeline-left {
  order: 2;
}

.timeline-entry:nth-child(odd) .timeline-right {
  order: 1;
}

.timeline-entry:nth-child(even) {
  margin-right: auto;
}

.timeline-entry:last-child {
  margin-bottom: 0rem;
}

/* Main Section Title (Big Year Heading) */
.timeline-main-title {
  padding: 0 2rem 0rem;
  font-weight: 100;
  font-size: 4rem;
  line-height: 1.2;
  color: var(--wp--preset--color--navy-blue);
  margin-top: 0;
  margin-bottom: 0;
}

.timeline-main-title span.fancy-underline {
  position: relative;
}

.timeline-main-title span.fancy-underline::after {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1418 125"><path d="M1412.29 72.17c-11.04-5.78-20.07-14.33-85.46-25.24-22.37-3.63-44.69-7.56-67.07-11.04-167.11-22.06-181.65-21.24-304.94-30.56C888.78 1.39 822.57 1.1 756.44 0c-46.63-.11-93.27 1.56-139.89 2.5C365.5 13.55 452.86 7.68 277.94 23.15 202.57 33.32 127.38 45.01 52.07 55.69c-11.23 2.41-22.63 4.17-33.71 7.22C6.1 66.33 5.64 66.19 3.89 67.79c-7.99 5.78-2.98 20.14 8.72 17.5 33.99-9.47 32.28-8.57 178.06-29.66 4.26 4.48 7.29 3.38 18.42 3.11 13.19-.32 26.38-.53 39.56-1.12 53.51-3.81 106.88-9.62 160.36-13.95 18.41-1.3 36.8-3.12 55.21-4.7 23.21-1.16 46.43-2.29 69.65-3.4 120.28-2.16 85.46-3.13 234.65-1.52 23.42.99 1.57-.18 125.72 6.9 96.61 8.88 200.92 27.94 295.42 46.12 40.87 7.91 116.67 23.2 156.31 36.78 3.81 1.05 8.28-.27 10.51-3.58 3.17-3.72 2.66-9.7-.78-13.13-3.25-3.12-8.14-3.44-12.18-5.08-17.89-5.85-44.19-12.09-63.67-16.56l26.16 3.28c23.02 3.13 46.28 3.92 69.34 6.75 10.8.96 25.43 1.81 34.34-4.39 2.26-1.54 4.86-2.75 6.21-5.27 2.76-4.59 1.13-11.06-3.59-13.68ZM925.4 23.77c37.64 1.4 153.99 10.85 196.64 14.94 45.95 5.51 91.89 11.03 137.76 17.19 24.25 4.77 74.13 11.21 101.72 18.14-11.87-1.15-23.77-1.97-35.65-3.06-133.46-15.9-266.8-33.02-400.47-47.21Z" fill="%23C81E1E"></path></svg>');
  background-repeat: no-repeat;
  background-size: 100%;
  bottom: 6px;
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: -1;
}


.timeline-date {
  font-size: 4rem;
  color: var(--sienna);
  line-height: 1;
  transform: translateY(30px); /* initial offset for animation */
}

/* .timeline-img {
  width: 100%;
  max-width: 240px;
  padding: 0.5rem;
  background-color: var(--papaya-whip);
  box-shadow: 4px 4px 0 var(--sienna);
} */

/* Right Side of Timeline: Text Content */
.timeline-right {
  flex: 1;
  /* max-width: 400px; */
}

.timeline-title {
  font-size: 2rem;
  color: var(--wp--preset--color--navy-blue);
  margin-bottom: 1rem;
}

.timeline-description {
  font-size: 1.05rem;
  color: var(--black);
  line-height: 1.6;
}

/* === Responsive Timeline Section === */
@media (max-width: 768px) {

  .hero-man-background {
    position: absolute;
    left: -25%;
    bottom: -9%;
    width: 65%;
  }

  .timeline-section {
    padding: 3rem 0rem 3rem;
  }

  .timeline-main-title {
    font-size: 2.5rem;
    text-align: center;
  }

  .timeline-entry {
    flex-direction: column;
    text-align: center;
    margin: 0 auto 2rem;
    gap: 1rem;
    max-width: 100%;
    min-height: unset;
  }

  .timeline-left {
    margin-bottom: 2rem;
  }

  .timeline-title {
    font-size: 1.5rem;
  }

  .timeline-date {
    font-size: 3rem;
  }

  .timeline-entry:nth-child(odd) .timeline-right {
    order: 2;
  }
}


.reveal-benefits {
  background: var(--wp--preset--color--navy-blue);
  color: var(--wp--preset--color--white) !important;
  padding: 12rem 0;
  /* min-height: 100vh; */
  position: relative;
  width: 100%;
  overflow: hidden;
}

.reveal-benefits .container {
  padding-left: 2rem;
  padding-right: 2rem;
}

.reveal-benefits .intro-grid {
  margin-bottom: 3rem;
}

.reveal-benefits .main-heading {
  font-size: 3rem;
  color: var(--wp--preset--color--white) !important;
}

.reveal-benefits .description {
  font-size: 1.2rem;
  color: var(--wp--preset--color--white) !important;
}

.reveal-benefits .intro-left,
.reveal-benefits .intro-right {
  max-width: none !important;
  width: 50% !important;
}



.desktop-flex-row-reverse {
  flex-direction: row-reverse;
}

@media (max-width:768px) {
  .w-third,
  .w-twothirds,
  .w-half {
    width: 100% !important;
  }
  .mobile-block {
    display:block !important;
  }
  .mobile-margin-b-2 {
    margin-bottom: 2rem;
  }
  .desktop-flex-row-reverse {
    flex-direction: column !important;
  }
  .reveal-benefits {
    padding: 3rem 0;
  }
  .reveal-benefits .intro-left, .reveal-benefits .intro-right {
    max-width: none !important;
    width: 100% !important;
  }
  .reveal-benefits .main-heading {
    font-size: 2rem;
  }
  .reveal-benefits .intro-grid {
    min-height: 0 !important;
    margin-bottom: 3rem;
  }
  .reveal-benefits .description {
    font-size: inherit !important;
  }
  .reveal-benefits ul.description {
    text-align: left !important;
  }
  .reveal-benefits ul.description li {
    margin-bottom: 1rem !important;
  }
  .swiper-pagination-vertical {
    display:none !important;
  }
}



.video-section{
  padding-top: 4rem;
  padding-bottom: 4rem;
  background: #f6f4f2;
}

.expanding-image-wrapper {
	display: flex;
	width: 100vw;
	height: auto;
	background-color: #ccc;
	clip-path: polygon(10% 0px, 90% 0px, 90% 100%, 10% 100%);
	transform: translate3d(0,0,0);
}

.expanding-image-wrapper video,
.expanding-image-wrapper img {
  width: 100vw;
	height: auto;
	margin: 0;
}





#heartbeat-canvas {
    display: block;          /* remove inline spacing */
    width: 100%;             /* fill parent width */
    max-height: 150px;       /* limit height */
    background-color: white; /* white background */
}






/* GSAP Swiper */

.scroll-swiper-section {
  position: relative;
  width: 100%;
  /* height: 100vh; */
  /* overflow: hidden; */
}

.scroll-swiper-container {
  width: 100%;
  height: 100%;
}

.swiper-pagination-vertical {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  justify-content: center; 
  gap: 20px;
  z-index: 10;
}

.swiper-pagination-vertical .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 1);
  transition: all 0.3s ease;
  cursor: pointer;
  opacity: 1!important;
}

.swiper-pagination-vertical .swiper-pagination-bullet-active {
  background: #C81E1E !important;
  transform: scale(1.3);
}

.reveal-benefits .swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: auto !important;
  left: 3rem !important;
  width: auto !important;
}




@media (min-width:1280px) {
  .hero-product {
    top: 6rem !important;
    height: 60%;
  }
}


@media (min-width:1600px) {
  .hero-product {
    top: 10rem !important;
    height: 80%;
  }
  .gsap-heart-container .container-wide {
    max-width: 80%;
  }
}


/* 
.hero-bg-w-overlay {
  position: absolute;
  top:0;
  left:0;
  bottom:0;
  right:0;
} */



.reveal-benefits::after {
  content: '';
  background-color: var(--wp--preset--color--navy-blue);
  opacity: 0.8;
  z-index:2;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
}