/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Cookie Banner */

.cky-consent-container .cky-consent-bar {border-radius:var(--radius-l) !important;}
.cky-btn {border-radius:var(--radius-circle) !important;}

/* Custom Elements */

.section-rounded-top {
  border-top-left-radius: clamp(16px, 4vw, 60px);
  border-top-right-radius: clamp(16px, 4vw, 60px);
}

.section-rounded-bottom {
  border-bottom-left-radius: clamp(16px, 4vw, 60px);
  border-bottom-right-radius: clamp(16px, 4vw, 60px);
}


.gform_required_legend {display:none !important;}

.split-heading .line1 { color: var(--tertiary); }
.split-heading .line2 { color: var(--primary); }

div.cqc-widget {border:0 !important;}

.radius--top-none {border-top-left-radius:0 !important;border-top-right-radius:0 !important;}
.radius--bottom-none {border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}
.radius--left-none {border-top-left-radius:0 !important; border-bottom-left-radius:0 !important;}
.radius--right-none {border-top-right-radius:0 !important; border-bottom-right-radius:0 !important;}
.padding--left-none {padding-left:0 !important;}
.padding--right-none {padding-right: 0 !important;}
.padding--top-none {padding-top:0 !important;}
.padding--bottom-none {padding-bottom:0 !important;}
.text--border-left p::before, {content:" "; border-left: 3px #409bed solid;
    padding-right: 10px;}

.gradient--card-overlay::before {border-radius:var(--radius-xl);}
.gradient--card-overlay {transform:scale(1); transition:0.25s all;}
.gradient--card-overlay:hover {transform:scale(0.98); transition:0.25s all;}

.hero--banner {
    clip-path: ellipse(160% 100% at 50% 0%);
}
.hero--banner .perfect-split__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
	  object-position: left 50%; 
	border-radius:0 !important;
}

.page-id-68 .insights-overview-wrapper {
  display: none !important;
}

.slider--accreditations img{
  max-width: 65%;
  max-height: 55%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Ensure the slider can position an overlayed bar */
.progress-slider { position: relative; }

/* Progress strip container */
.progress-slider .slider-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -30px;           /* tweak to taste */
  height: 6px;
  background: rgb(64 155 237 / 10%);
  border-radius: var(--radius-circle);
  overflow: hidden;
  pointer-events: none;
}

/* The filling bar */
.progress-slider .slider-progress-bar {
  width: 0%;
  height: 100%;
  background: var(--primary);       /* change to your brand */
  transition: width 300ms linear;
}

@media (max-width: 768px) {
  .slider-progress .splide__track {
    margin-right: calc(-1 * var(--bricks-container-padding, 0px));
  }
	.hero--banner {
   		clip-path: ellipse(200% 100% at 50% 0%);
	}
}


/* Animations */

.transition--all {transition: all 0.3s ease;}

.hover--block {
  transform: scale(1);
  transition: all 0.3s ease;
}

.hover--block:hover {
  border-color: var(--primary);
  transform: scale(0.99);
}

.link--arrow:hover {padding-left:5px; opacity:0.7;}

.bricks-nav-menu .sub-menu > li > a:hover {background:var(--primary-trans-10);border-radius:var(--radius-l);transition:all 0.25s;}

/* Buttons laid out as inline-flex (Bricks’ buttons usually are already) */
.btn--primary,
.btn--secondary,
.btn--outline {
  display: inline-flex;
  align-items: center;
  gap: .45em; /* space between text and icon on hover */
}

/* Icon starts collapsed and hidden */
.btn--primary i,
.btn--secondary i,
.btn--outline i {
  width: 0;          /* no space at rest */
  opacity: 0;
  transform: translateX(-6px);
  overflow: hidden;  /* hide glyph while width is 0 */
  transition: width .25s ease, opacity .25s ease, transform .25s ease;
  flex: 0 0 auto;
}

/* Reveal on hover/focus */
.btn--primary:is(:hover, :focus-visible) i,
.btn--secondary:is(:hover, :focus-visible) i,
.btn--outline:is(:hover, :focus-visible) i {
  width: 1.1em;      /* icon width when shown */
  opacity: 1;
  transform: translateX(0);
}

/* Form Styling */

/* Form wrapper */
.gform_wrapper {
  font-family: inherit !important;
}

/* Labels */
.gform_wrapper .gfield_label {
  color: var(--tertiary) !important;
  font-size:var(--text-m) !important;	
}
.gform_wrapper .gform-field-label--type-inline {
  font-size:var(--text-m) !important;	
}

/* Inputs */
.gform_wrapper .ginput_container input,
.gform_wrapper .ginput_container select,
.gform_wrapper .ginput_container textarea {
  border: 1px solid var(--primary-light) !important;
  border-radius: var(--radius-circle) !important;
  font-size:var(--text-m) !important;	
}

select.wpgb-select {box-shadow: var(--box-shadow-m) !important;}


/* Checkboxes & radios */
.gform_wrapper .gfield_checkbox li,
.gform_wrapper .gfield_radio li {
  font-size:var(--text-m) !important;	
}

/* Errors */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
  border-color: red;
}
.gform_wrapper .validation_message {
  color: red;
  font-size: 0.9rem;
}

/* Confirmation */
.gform_wrapper .gform_confirmation_message {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  padding: 1rem;
  border-radius: 0.5rem;
}

/* Submit */
.gform_wrapper .gform_button {
  background: var(--primary) !important;
  padding: 1rem 1.5rem !important;
  font-weight:700 !important;
  border-radius: var(--radius-circle) !important;
  font-size:var(--text-m) !important;
}

/* ===== Scope everything to your header ===== */
.header-has-mega { position: relative; z-index: 100; }

/* Base panel styling (all panels hidden by default) */
.header-has-mega .bricks-nav-menu > li.brx-has-megamenu > .brx-megamenu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 9999;
  background: var(--bricks-color-background, #fff);
  border-bottom-left-radius:var(--radius-xl);
  border-bottom-right-radius:var(--radius-xl);

  /* animation setup */
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    visibility 0s linear 0.25s; /* delay hiding until after fade */
}

.bricks-nav-menu > li > a:hover, .brx-submenu-toggle a:hover {
    color: var(--tertiary) !important;
}

/* Show the hovered/focused panel with smooth animation */
.header-has-mega .bricks-nav-menu > li.brx-has-megamenu:hover > .brx-megamenu,
.header-has-mega .bricks-nav-menu > li.brx-has-megamenu:focus-within > .brx-megamenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    visibility 0s linear 0s; /* instantly visible */
}

/* ===== Prevent inner menus from acting like megas ===== */
.header-has-mega .brx-megamenu li.brx-has-megamenu > .brx-megamenu {
  display: none !important;
}

/* Make sure nav container is positioning context */
.header-has-mega .bricks-nav-menu { position: relative;}


@media (max-width: 768px) {
  .hero-gap-mobile {
    padding: 2.5rem;padding-bottom:0;
  }
}


/* ====== Gravity Form: Newsletter Signup (form--signup) ====== */
.form--signup input[type="email"],
.form--signup input[type="text"] {
  background-color: var(--bg-primary) !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  font-size: var(--text-l) !important;
  padding: 25px 25px !important; 
  transition: all 0.3s ease;
}

.form--signup input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.75);
}

/* Input focus state */
.form--signup input[type="email"]:focus {
  outline: none;
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.1);
}

/* Hide the consent field label */
.form--signup .gfield_label {
  display: none !important;
}

/* Style the consent text */
.form--signup .gfield_consent_label {
  color: #ffffff !important;
}

/* Signup button */
.form--signup .gform_button {
  background-color: #1a1a3b !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer;
  transition: all 0.3s ease;
}

.form--signup .gform_button:hover {
  background-color: #2b2b5e !important;
}

.hcr-reviews-container .swiper-button-prev,
.hcr-reviews-container .swiper-button-next {display:none !important;}