/*
 Theme Name:   PALS by Scinorx
 Theme URI:    https://scinorx.com/
 Description:  Custom child theme of Spika for PALS Old Bridge
 Author:       Scinorx Technologies Inc.
 Template:     spika
 Version:      1.0.0
*/

/* Add your custom CSS below this line */

#header, #header.page {
	background-color: var(--color-white);
}

#header.page {
	position: static;
}

.header-menu > li a {
    color: var(--color-black);
    text-transform: uppercase;
    font-size: 14px;
}

.breadcrumbs-content {
	color: var(--color-white);
}

.breadcrumbs-content a {
	color: var(--color-white);
}

.wrapper-header-content.page h1 {
	color: var(--color-white);
}

.wrapper-header-content.page {
    background-image: linear-gradient(rgba(0, 0, 0,0.6), rgba(0, 0, 0,0.4)), url('/wp-content/uploads/2025/03/mathbanner-scaled.jpg');
}

/***************************************
 VIDEO BACKGROUND – FINAL IMPLEMENTATION
***************************************/
.wrapper-header-content {
    position: relative;
    overflow: hidden; /* keeps video contained inside */
}

/* video background wrapper */
.header-video-bg {
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; /* sits behind content */
    overflow: hidden;
    transform: translateZ(0); /* fixes striping on GPU */
}

/* actual video styling */
.header-video-bg video.header-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover; /* behaves like background-size:cover */
    object-position: center;
    transform: translate(-50%, -50%);
    image-rendering: auto;
    backface-visibility: hidden;
    filter: contrast(100%) brightness(50%); /* prevents scanline look */
}

/* gradient overlay */
.header-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        rgba(103,128,239,0.6),
        rgba(103,128,239,0.4)
    );
    z-index: -1;
}

/* content stays above video */
.wrapper-header-content .container {
    position: relative;
    z-index: 2;
}

/******************************************
 FIX – Make menu clickable (important)
******************************************/
.header-video-bg,
.header-video-bg video,
.header-overlay {
    pointer-events: none; /* video can't block clicks */
}

/******************************************
 Ensure site header sits ABOVE video
(Use the selector matching your theme header)
******************************************/
header,
.site-header,
.header-main {
    position: relative;
    z-index: 9999;
}

/******************************************
 Optional – adjust hero height (edit to your liking)
******************************************/
.wrapper-header-content.flex {
    padding: 120px 0;  /* Increase/decrease for taller/shorter hero */
}

/******************************************
 Mobile Optimization (recommended)
******************************************/
@media (max-width: 768px) {
    .wrapper-header-content.flex {
        padding: 80px 0;
    }
    .header-video-bg video.header-video {
        object-position: center;
    }
}

#bBlocksTestPurpose-1 .faq-main-wrapper .faq-container-style .faq-icon svg {
    background: none !important;
}

#bBlocksTestPurpose-1 .faq-main-wrapper .faq-container-style .faq-question {
    background: var(--color-blue) !important;
}

#bBlocksTestPurpose-1 .faq-main-wrapper .faq-container-style .faq-question-title {
    color: var(--color-white) !important;
}

.single-edge:first-child {
    background-color: var(--color-blue);
}

.single-edge:nth-child(2) {
    background-color: var(--color-green);
}

.single-edge:nth-child(3) {
    background-color: var(--color-yellow);
}

.single-edge:last-child {
    background-color: var(--color-red);
}

/* Logo + locations stacked */
.logo-with-locations {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* change to center if you prefer */
    gap: 6px;
}

/* Locations menu reset and layout */
.header-locations {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.header-locations li {
    margin: 0;
    padding: 0;
}

/* Each location as a pill */
.header-locations a {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(0,0,0,0.06);
    color: #1f2933;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: 0.2s;
}

.header-locations a:hover {
    background: #2a3fb3;  /* your brand blue */
    color: #fff;
}

/* If header background is dark, wrap header with .header-dark & use: */
.header-dark .header-locations a {
    background: rgba(255,255,255,0.12);
    color: #f9fafb;
}

.header-dark .header-locations a:hover {
    background: #fff;
    color: #111827;
}

/* Mobile alignment */
@media (max-width: 768px) {
    .logo-with-locations {
        align-items: center;
    }
    .header-locations {
        justify-content: center;
    }
}

#openmenu, #closemenu {
  color: var(--color-black);
}

/* Base field styling */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  border: 1px solid #d1d5db !important; /* soft gray */
  background-color: #ffffff !important;
  padding: 12px 14px !important;
  font-size: 15px;
  line-height: 1.5;
  border-radius: 8px;
  width: 100%;
  box-shadow: none !important;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Focus state */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
  border-color: #6366f1 !important; /* modern indigo */
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
}

/* Labels */
.wpcf7 label {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #374151;
  display: block;
}

/* Error state */
.wpcf7 .wpcf7-not-valid {
  border-color: #ef4444 !important;
}

/* Error message */
.wpcf7 .wpcf7-not-valid-tip {
  font-size: 13px;
  color: #ef4444;
  margin-top: 4px;
}

/* Two-column layout */
.wrapper-input.flex {
  display: flex;
  gap: 16px;
}

.wrapper-input.flex .form-group {
  flex: 1;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .wrapper-input.flex {
    flex-direction: column;
  }
}
