/*
Theme Name: GCO Ventures
Theme URI: https://gco-ventures.com/
Author: Common People Interactive
Author URI: https://commonpeoplei.com/
Description: Tema personalizado con soporte Full Site Editing y Gutenberg
Version: 1.0
Requires at least: 6.0
*/

body {
  font-family: var(--wp--preset--font-family--inter), sans-serif;
  line-height: 1.6;
  color: var(--wp--preset--color--dark);
}

/* Global button system */
.gco-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 8px 32px 6px 32px;
  border-radius: 999px;
  font-weight: 400;
  text-decoration: none;
  border: 2px solid transparent;
  line-height: 1;
  font-family: var(--wp--preset--font-family--gco-sans);
  
  /* transitions for hover effects */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateZ(0);
  will-change: transform, box-shadow;
}

/* Global button hover effects */
.gco-btn:hover {
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}
.gco-btn .gco-btn__icon { margin-top: 2px; }
.gco-btn--accent { background-color: var(--wp--preset--color--accent-orange); color: var(--wp--preset--color--dark); }
.gco-btn--dark { background-color: var(--wp--preset--color--primary); color: #fff; }
.gco-btn--outline { background-color: transparent; color: var(--wp--preset--color--dark); border-color: var(--wp--preset--color--primary); }

/* Make core Button adopt the global look via style variations classes */
.wp-block-button.is-style-gco-accent .wp-block-button__link { @apply: none; }
.wp-block-button.is-style-gco-accent .wp-block-button__link { 
  background-color: var(--wp--preset--color--accent-orange); 
  color: var(--wp--preset--color--dark); 
  border: 2px solid transparent; 
  border-radius: 999px; 
  padding: 0.3rem 2rem; 
  font-weight: 400;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateZ(0);
  will-change: transform, box-shadow;
}
.wp-block-button.is-style-gco-accent .wp-block-button__link:hover {
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.wp-block-button.is-style-gco-dark .wp-block-button__link { 
  background-color: var(--wp--preset--color--primary); 
  color: #fff; 
  border: 2px solid transparent; 
  border-radius: 999px; 
  padding: 0.3rem 2rem; 
  font-weight: 400;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateZ(0);
  will-change: transform, box-shadow;
}
.wp-block-button.is-style-gco-dark .wp-block-button__link:hover {
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.wp-block-button.is-style-gco-outline .wp-block-button__link { 
  background-color: transparent; 
  color: var(--wp--preset--color--dark); 
  border: 2px solid var(--wp--preset--color--primary); 
  border-radius: 999px; 
  padding: 0.3rem 2rem; 
  font-weight: 400;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateZ(0);
  will-change: transform, box-shadow;
}
.wp-block-button.is-style-gco-outline .wp-block-button__link:hover {
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.site-header,
header.wp-block-group {
  background-color: transparent !important;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding-top: 0 !important;
  padding-right: 2rem;
  padding-bottom: 0 !important;
  padding-left: 2rem;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.site-header,
header.wp-block-group {
  padding-left: max(2rem, calc((100vw - 1440px) / 2)) !important;
  padding-right: max(2rem, calc((100vw - 1440px) / 2)) !important;
}

header.wp-block-group .wp-block-site-logo img {
  height: 32.22px;
  margin-bottom: 1.5rem;
}

@media (max-width: 1023px) {
  .site-header,
  header.wp-block-group {
    padding-top: 2rem !important;
    padding-right: 1rem;
    padding-bottom: 1rem !important;
    padding-left: 1rem;
  }

  header.wp-block-group .wp-block-site-logo img {
    width: 180px;
    margin-bottom: 0 !important;
  }
}

/* Estado scrolleado */
.site-header.is-scrolled,
header.wp-block-group.is-scrolled {
  background-color: #ffffff !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* Logo (imagen o SVG) - blanco en transparente, oscuro en scrolleado */
.site-header .wp-block-site-logo img,
header.wp-block-group .wp-block-site-logo img {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}

.site-header.is-scrolled .wp-block-site-logo img,
header.wp-block-group.is-scrolled .wp-block-site-logo img {
  filter: none;
}

.site-header .wp-block-site-logo svg,
.site-header .wp-block-site-logo svg *,
header.wp-block-group .wp-block-site-logo svg,
header.wp-block-group .wp-block-site-logo svg * {
  fill: #ffffff !important;
  stroke: #ffffff !important;
  transition: fill 0.3s ease, stroke 0.3s ease;
}

.site-header.is-scrolled .wp-block-site-logo svg,
.site-header.is-scrolled .wp-block-site-logo svg *,
header.wp-block-group.is-scrolled .wp-block-site-logo svg,
header.wp-block-group.is-scrolled .wp-block-site-logo svg * {
  fill: var(--wp--preset--color--dark) !important;
  stroke: var(--wp--preset--color--dark) !important;
}

.wp-block-site-title {
  margin: 0;
}

.wp-block-site-title a {
  text-decoration: none;
  color: #fff !important;
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
}

.site-header.is-scrolled .wp-block-site-title a,
header.wp-block-group.is-scrolled .wp-block-site-title a {
  color: var(--wp--preset--color--dark);
}

.wp-block-navigation ul {
  gap: 0;
}

.wp-block-navigation-item a {
  font-family: var(--wp--preset--font-family--gco-sans);
  text-decoration: none;
  font-weight: 500;
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  padding: 3rem 1.5rem 1rem 1.5rem;
  position: relative;
  border-radius: 0 0 20px 20px;
  line-height: 150%;
}

/* Fuerza color de enlaces de navegación según estado del header */
.site-header .wp-block-navigation a,
.site-header .wp-block-navigation .wp-block-navigation-item__content,
header.wp-block-group .wp-block-navigation a,
header.wp-block-group .wp-block-navigation .wp-block-navigation-item__content {
  color: var(--wp--preset--color--white);
}

.site-header.is-scrolled .wp-block-navigation a,
.site-header.is-scrolled .wp-block-navigation .wp-block-navigation-item__content,
header.wp-block-group.is-scrolled .wp-block-navigation a,
header.wp-block-group.is-scrolled .wp-block-navigation .wp-block-navigation-item__content {
  color: var(--wp--preset--color--dark);
}

.site-header .wp-block-navigation__responsive-container-open,
header.wp-block-group .wp-block-navigation__responsive-container-open {
  background-color: transparent;
}

.site-header.is-scrolled .wp-block-navigation__responsive-container-open,
header.wp-block-group.is-scrolled .wp-block-navigation__responsive-container-open {
  background-color: var(--wp--preset--color--white);
}

.site-header.is-scrolled .wp-block-navigation-item a,
header.wp-block-group.is-scrolled .wp-block-navigation-item a {
  color: var(--wp--preset--color--dark);
}

.wp-block-navigation-item a:hover,
.wp-block-navigation-item.current-menu-item a,
.wp-block-navigation-item.current_page_item a {
  color: var(--wp--preset--color--dark);
  background-color: var(--wp--preset--color--accent-orange);
}

.site-header.is-scrolled .wp-block-navigation-item a:hover,
header.wp-block-group.is-scrolled .wp-block-navigation-item a:hover,
.site-header.is-scrolled .wp-block-navigation-item.current-menu-item a,
header.wp-block-group.is-scrolled .wp-block-navigation-item.current-menu-item a,
.site-header.is-scrolled .wp-block-navigation-item.current_page_item a,
header.wp-block-group.is-scrolled .wp-block-navigation-item.current_page_item a {
  color: var(--wp--preset--color--dark) !important;
  background-color: var(--wp--preset--color--accent-orange);
}

/* Toggler responsive (icono hamburguesa) */
.site-header .wp-block-navigation__responsive-container-open svg,
header.wp-block-group .wp-block-navigation__responsive-container-open svg {
  fill: #ffffff !important;
}

.site-header.is-scrolled .wp-block-navigation__responsive-container-open svg,
header.wp-block-group.is-scrolled .wp-block-navigation__responsive-container-open svg {
  fill: var(--wp--preset--color--dark) !important;
}

/* force display of hamburger menu on screens below 1024px */
@media (max-width: 1023px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }
  
  .wp-block-navigation:not(.has-modal-open) .wp-block-navigation__container {
    display: none !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    display: flex !important;
  }
}

.wp-block-navigation .wp-block-navigation__submenu-container {
  background-color: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.wp-block-navigation .wp-block-navigation__submenu-container a {
  color: #fff;
  padding: 0.75rem 1.5rem;
  text-transform: none;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
}

.wp-block-navigation .wp-block-navigation__submenu-container a:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

.wp-block-navigation__responsive-container-open {
  background-color: #1a1a1a;
}

/* ==========================================================================
   MOBILE MENU CUSTOM STYLING
   ========================================================================== */
/* Mobile responsive container - custom dark styling */
.wp-block-navigation__responsive-container.is-menu-open {
  background: var(--wp--preset--color--primary) !important;
}

/* Mobile menu content container */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 100vh;
  text-align: center;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

/* Mobile menu close button */
.wp-block-navigation__responsive-container-close {
  top: 2rem !important;
  right: 2rem !important;
}

.wp-block-navigation__responsive-container-close svg {
  width: 24px !important;
  height: 24px !important;
  fill: var(--wp--preset--color--white);
}

/* Mobile navigation container styling */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  flex-direction: column !important;
  gap: 1rem !important;
  list-style: none;
  margin: 0;
  width: 100% !important;
}

/* Mobile menu items styling */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Mobile menu links styling */
.wp-block-navigation__responsive-container.is-menu-open ul {
  width: 100% !important;
  padding: 0 2rem !important;
  margin-top: 2rem !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
  padding: 1rem 0 !important;
  color: var(--wp--preset--color--white);
}

header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
  padding: 1rem 0 !important;
  color: var(--wp--preset--color--white) !important;
}

/* Mobile menu link hover effects */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover {
  color: var(--wp--preset--color--dark) !important;
  background: var(--wp--preset--color--accent-orange) !important;
}

/* Mobile menu link active/current page styling */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current_page_item a {
  color: var(--wp--preset--color--dark) !important;
  background: var(--wp--preset--color--accent-orange) !important;
  width: 100% !important;
}

/* Remove default desktop navigation styles from mobile menu */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
  border-radius: 32px !important;
  width: 100% !important;
}

/* Ensure hamburger icon stays white */
.wp-block-navigation__responsive-container-open svg {
  fill: currentColor !important;
}

/* Mobile menu background overlay enhancement */
.wp-block-navigation__responsive-container.is-menu-open::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 50% 50%, rgba(255, 167, 38, 0.1) 0%, transparent 70%);
  pointer-events: none;
  z-index: -1;
}

/* Ensure mobile menu is only visible on mobile devices */
@media (min-width: 1024px) {
  .wp-block-navigation__responsive-container.is-menu-open,
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
}

.wp-block-post-title {
  margin-bottom: 1.5rem;
}

.wp-block-post-title a {
  color: var(--wp--preset--color--dark);
  text-decoration: none;
}

.wp-block-post-title a:hover {
  color: var(--wp--preset--color--primary);
}

.wp-block-query .wp-block-post-template {
  gap: 3rem;
}

.wp-block-separator {
  margin: 1rem 0;
  opacity: 0.3;
}

.wp-block-query-pagination {
  margin-top: 3rem;
  justify-content: center;
}

.wp-block-query-pagination a {
  color: var(--wp--preset--color--dark);
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  transition: all 0.3s ease;
}

.wp-block-query-pagination a:hover {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--dark);
  border-color: var(--wp--preset--color--primary);
}

.wp-block-search .wp-block-search__input {
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  padding: 0.75rem;
  font-size: 1rem;
}

.wp-block-search .wp-block-search__button {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--dark);
  border: none;
  border-radius: 4px;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.wp-block-search .wp-block-search__button:hover {
  background-color: #e6b800;
}

/* ==========================================================================
   FOOTER STYLES
   ========================================================================== */

/* --------------------------------------------------------------------------
   DESKTOP STYLES (Default)
   -------------------------------------------------------------------------- */

/* Footer wrapper - no padding, let sections handle their own */
.gco-footer-wrapper {
  padding: 0 !important;
}

/* Individual footer sections with constrained layout */
.gco-footer-wrapper .gco-footer-top > *,
.gco-footer-wrapper .gco-footer-bottom > * {
  max-width: 1440px;
  margin: 0 auto;
  width: 100%;
}

.gco-footer-top {
  align-items: center;
  padding: 67px 82px;
}

.gco-footer-bottom {
  align-items: center;
  padding: 2rem 82px;
}

.gco-footer-top .wp-block-site-title a {
  color: var(--wp--preset--color--dark) !important;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.gco-footer-wrapper .wp-block-site-logo img {
  height: 42px;
  filter: brightness(0);
}

.gco-footer-social {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gco-footer-top .gco-footer-social .wp-social-link {
  background-color: transparent;
  transition: all 0.3s ease;
}

.gco-footer-copyright {
  margin: 0 !important;
  flex-shrink: 0;
  font-weight: 300;
}

.gco-footer-links {
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
}

.gco-footer-links p {
  margin: 0 !important;
}

.gco-footer-link a {
  transition: color 0.3s ease;
}

.gco-footer-link a:hover {
  color: color-mix(in srgb, var(--wp--preset--color--white) 80%, transparent) !important;
}

.gco-footer-link:last-child {
  font-weight: 500;
}

.gco-footer-navigation {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gco-footer-navigation .wp-block-navigation__container {
  gap: 2rem;
  flex-wrap: wrap;
}

.gco-footer-navigation .wp-block-navigation-item {
  margin: 0;
}

.gco-footer-navigation .wp-block-navigation-item a {
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none !important;
  font-size: 0.9rem;
  transition: color 0.3s ease;
  padding: 0;
}

.gco-footer-navigation .wp-block-navigation-item a:hover {
  color: rgba(255, 255, 255, 0.9) !important;
}

@media (max-width: 1440px) {
  .wp-block-group.alignwide {
    padding: 0 0 0 82px;
  }
}

@media (max-width: 440px) {
  .wp-block-group.alignwide {
    padding: 0 30px;
  }
}

.wp-block-group.alignfull {
  padding: 0 !important;
}

/* --------------------------------------------------------------------------
   MOBILE STYLES (Max-width: 440px)
   -------------------------------------------------------------------------- */
@media (max-width: 440px) {  
  .wp-block-navigation ul {
    gap: 1rem;
  }

  .wp-block-navigation-item a {
    font-size: 0.9rem;
  }

  .gco-footer-top,
  .gco-footer-bottom {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    justify-content: center !important;
    align-items: center !important;
  }

  .gco-footer-top {
    padding: 67px 32px 32px 32px !important;
  }

  .gco-footer-top > * {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    justify-content: center;
    align-items: center;
  }

  .gco-footer-top img {
    margin-bottom: 2rem;
  }

  .gco-footer-top .wp-block-site-title a {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
  }

  .gco-footer-top .gco-footer-social {
    justify-content: center;
  }

  .gco-footer-bottom {
    align-items: center;
    padding: 1.5rem 1rem !important;
  }

  .gco-footer-bottom > * {
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
  }

  .gco-footer-copyright {
    text-align: center;
    /* margin-bottom: 1rem !important; */
  }

  .gco-footer-links {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
  }

  .gco-footer-link {
    font-size: 0.85rem !important;
  }

  .gco-footer-link:last-child {
    font-weight: 600;
  }

  .gco-footer-navigation .wp-block-navigation__container {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }

}

/* ========================================
   UTILITY CLASSES
   ======================================== */

/* VISIBILITY UTILITIES */
.gco-hide-mobile {
  @media (max-width: 440px) {
    display: none !important;
  }
}

.gco-hide-tablet {
  @media (min-width: 440px) and (max-width: 1440px) {
    display: none !important;
  }
}

.gco-hide-desktop {
  @media (min-width: 1440px) {
    display: none !important;
  }
}

.gco-show-mobile {
  display: none !important;
  @media (max-width: 767px) {
    display: block !important;
  }
}

.gco-show-tablet {
  display: none !important;
  @media (min-width: 440px) and (max-width: 1440px) {
    display: block !important;
  }
}

.gco-show-desktop {
  display: none !important;
  @media (min-width: 1440px) {
    display: block !important;
  }
}

/* SPACING UTILITIES */
.gco-m-0 { margin: 0 !important; }
.gco-m-1 { margin: 0.5rem !important; }
.gco-m-2 { margin: 1rem !important; }
.gco-m-3 { margin: 1.5rem !important; }
.gco-m-4 { margin: 2rem !important; }
.gco-m-5 { margin: 2.5rem !important; }
.gco-m-6 { margin: 3rem !important; }

.gco-mt-0 { margin-top: 0 !important; }
.gco-mt-1 { margin-top: 0.5rem !important; }
.gco-mt-2 { margin-top: 1rem !important; }
.gco-mt-3 { margin-top: 1.5rem !important; }
.gco-mt-4 { margin-top: 2rem !important; }
.gco-mt-5 { margin-top: 2.5rem !important; }
.gco-mt-6 { margin-top: 3rem !important; }

.gco-mb-0 { margin-bottom: 0 !important; }
.gco-mb-1 { margin-bottom: 0.5rem !important; }
.gco-mb-2 { margin-bottom: 1rem !important; }
.gco-mb-3 { margin-bottom: 1.5rem !important; }
.gco-mb-4 { margin-bottom: 2rem !important; }
.gco-mb-5 { margin-bottom: 2.5rem !important; }
.gco-mb-6 { margin-bottom: 3rem !important; }

.gco-ml-0 { margin-left: 0 !important; }
.gco-ml-1 { margin-left: 0.5rem !important; }
.gco-ml-2 { margin-left: 1rem !important; }
.gco-ml-3 { margin-left: 1.5rem !important; }
.gco-ml-4 { margin-left: 2rem !important; }
.gco-ml-5 { margin-left: 2.5rem !important; }
.gco-ml-6 { margin-left: 3rem !important; }

.gco-mr-0 { margin-right: 0 !important; }
.gco-mr-1 { margin-right: 0.5rem !important; }
.gco-mr-2 { margin-right: 1rem !important; }
.gco-mr-3 { margin-right: 1.5rem !important; }
.gco-mr-4 { margin-right: 2rem !important; }
.gco-mr-5 { margin-right: 2.5rem !important; }
.gco-mr-6 { margin-right: 3rem !important; }

.gco-mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.gco-mx-1 { margin-left: 0.5rem !important; margin-right: 0.5rem !important; }
.gco-mx-2 { margin-left: 1rem !important; margin-right: 1rem !important; }
.gco-mx-3 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
.gco-mx-4 { margin-left: 2rem !important; margin-right: 2rem !important; }
.gco-mx-5 { margin-left: 2.5rem !important; margin-right: 2.5rem !important; }
.gco-mx-6 { margin-left: 3rem !important; margin-right: 3rem !important; }

.gco-my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.gco-my-1 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
.gco-my-2 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.gco-my-3 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.gco-my-4 { margin-top: 2rem !important; margin-bottom: 2rem !important; }
.gco-my-5 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; }
.gco-my-6 { margin-top: 3rem !important; margin-bottom: 3rem !important; }

/* Paddings */
.gco-p-0 { padding: 0 !important; }
.gco-p-1 { padding: 0.5rem !important; }
.gco-p-2 { padding: 1rem !important; }
.gco-p-3 { padding: 1.5rem !important; }
.gco-p-4 { padding: 2rem !important; }
.gco-p-5 { padding: 2.5rem !important; }
.gco-p-6 { padding: 3rem !important; }

.gco-pt-0 { padding-top: 0 !important; }
.gco-pt-1 { padding-top: 0.5rem !important; }
.gco-pt-2 { padding-top: 1rem !important; }
.gco-pt-3 { padding-top: 1.5rem !important; }
.gco-pt-4 { padding-top: 2rem !important; }
.gco-pt-5 { padding-top: 2.5rem !important; }
.gco-pt-6 { padding-top: 3rem !important; }

.gco-pb-0 { padding-bottom: 0 !important; }
.gco-pb-1 { padding-bottom: 0.5rem !important; }
.gco-pb-2 { padding-bottom: 1rem !important; }
.gco-pb-3 { padding-bottom: 1.5rem !important; }
.gco-pb-4 { padding-bottom: 2rem !important; }
.gco-pb-5 { padding-bottom: 2.5rem !important; }
.gco-pb-6 { padding-bottom: 3rem !important; }

.gco-pl-0 { padding-left: 0 !important; }
.gco-pl-1 { padding-left: 0.5rem !important; }
.gco-pl-2 { padding-left: 1rem !important; }
.gco-pl-3 { padding-left: 1.5rem !important; }
.gco-pl-4 { padding-left: 2rem !important; }
.gco-pl-5 { padding-left: 2.5rem !important; }
.gco-pl-6 { padding-left: 3rem !important; }

.gco-pr-0 { padding-right: 0 !important; }
.gco-pr-1 { padding-right: 0.5rem !important; }
.gco-pr-2 { padding-right: 1rem !important; }
.gco-pr-3 { padding-right: 1.5rem !important; }
.gco-pr-4 { padding-right: 2rem !important; }
.gco-pr-5 { padding-right: 2.5rem !important; }
.gco-pr-6 { padding-right: 3rem !important; }

.gco-px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.gco-px-1 { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
.gco-px-2 { padding-left: 1rem !important; padding-right: 1rem !important; }
.gco-px-3 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.gco-px-4 { padding-left: 2rem !important; padding-right: 2rem !important; }
.gco-px-5 { padding-left: 2.5rem !important; padding-right: 2.5rem !important; }
.gco-px-6 { padding-left: 3rem !important; padding-right: 3rem !important; }

.gco-py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.gco-py-1 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.gco-py-2 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.gco-py-3 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.gco-py-4 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
.gco-py-5 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
.gco-py-6 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

.gco-text-left { text-align: left !important; }
.gco-text-center { text-align: center !important; }
.gco-text-right { text-align: right !important; }
.gco-text-justify { text-align: justify !important; }

.gco-gap-0 { gap: 0 !important; }
.gco-gap-1 { gap: 0.5rem !important; }
.gco-gap-2 { gap: 1rem !important; }
.gco-gap-3 { gap: 1.5rem !important; }
.gco-gap-4 { gap: 2rem !important; }
.gco-gap-5 { gap: 2.5rem !important; }
.gco-gap-6 { gap: 3rem !important; }

/* Responsive text alignment */
@media (max-width: 767px) {
  .gco-text-center-mobile { text-align: center !important; }
  .gco-text-left-mobile { text-align: left !important; }
  .gco-text-right-mobile { text-align: right !important; }
}

@media (min-width: 440px) and (max-width: 1440px) {
  .gco-text-center-tablet { text-align: center !important; }
  .gco-text-left-tablet { text-align: left !important; }
  .gco-text-right-tablet { text-align: right !important; }
}

@media (min-width: 1440px) {
  .gco-text-center-desktop { text-align: center !important; }
  .gco-text-left-desktop { text-align: left !important; }
  .gco-text-right-desktop { text-align: right !important; }
}

/* FLEXBOX UTILITIES */
.gco-flex { display: flex !important; }
.gco-flex-column { flex-direction: column !important; }
.gco-flex-row { flex-direction: row !important; }
.gco-flex-wrap { flex-wrap: wrap !important; }
.gco-flex-nowrap { flex-wrap: nowrap !important; }
.gco-flex-nogrow { flex-grow: 0 !important; }
.gco-flex-basis-1 { flex-basis: max-content !important; }

.gco-justify-start { justify-content: flex-start !important; }
.gco-justify-center { justify-content: center !important; }
.gco-justify-end { justify-content: flex-end !important; }
.gco-justify-between { justify-content: space-between !important; }
.gco-justify-around { justify-content: space-around !important; }
.gco-justify-evenly { justify-content: space-evenly !important; }

.gco-align-start { align-items: flex-start !important; }
.gco-align-center { align-items: center !important; }
.gco-align-end { align-items: flex-end !important; }
.gco-align-stretch { align-items: stretch !important; }
.gco-align-baseline { align-items: baseline !important; }

/* DISPLAY UTILITIES */
.gco-block { display: block !important; }
.gco-inline { display: inline !important; }
.gco-inline-block { display: inline-block !important; }
.gco-flex { display: flex !important; }
.gco-inline-flex { display: inline-flex !important; }
.gco-grid { display: grid !important; }
.gco-inline-grid { display: inline-grid !important; }
.gco-hidden { display: none !important; }

/* WIDTH UTILITIES */
.gco-w-auto { width: auto !important; }
.gco-w-full { width: 100% !important; }
.gco-w-screen { width: 100vw !important; }
.gco-w-1-2 { width: 50% !important; }
.gco-w-1-3 { width: 33.333333% !important; }
.gco-w-2-3 { width: 66.666667% !important; }
.gco-w-1-4 { width: 25% !important; }
.gco-w-3-4 { width: 75% !important; }

/* HEIGHT UTILITIES */
.gco-h-auto { height: auto !important; }
.gco-h-full { height: 100% !important; }
.gco-h-screen { height: 100vh !important; }

/* POSITION UTILITIES */
.gco-relative { position: relative !important; }
.gco-absolute { position: absolute !important; }
.gco-fixed { position: fixed !important; }
.gco-sticky { position: sticky !important; }
.gco-static { position: static !important; }

/* Z-INDEX UTILITIES */
.gco-z-0 { z-index: 0 !important; }
.gco-z-10 { z-index: 10 !important; }
.gco-z-20 { z-index: 20 !important; }
.gco-z-30 { z-index: 30 !important; }
.gco-z-40 { z-index: 40 !important; }
.gco-z-50 { z-index: 50 !important; }
.gco-z-auto { z-index: auto !important; }

/* BORDER UTILITIES */
.gco-border { border: 1px solid var(--wp--preset--color--gray) !important; }
.gco-border-0 { border: 0 !important; }
.gco-border-t { border-top: 1px solid var(--wp--preset--color--gray) !important; }
.gco-border-r { border-right: 1px solid var(--wp--preset--color--gray) !important; }
.gco-border-b { border-bottom: 1px solid var(--wp--preset--color--gray) !important; }
.gco-border-l { border-left: 1px solid var(--wp--preset--color--gray) !important; }

.gco-rounded { border-radius: 0.25rem !important; }
.gco-rounded-md { border-radius: 0.375rem !important; }
.gco-rounded-lg { border-radius: 0.5rem !important; }
.gco-rounded-xl { border-radius: 0.75rem !important; }
.gco-rounded-2xl { border-radius: 1rem !important; }
.gco-rounded-full { border-radius: 9999px !important; }
.gco-rounded-none { border-radius: 0 !important; }

/* SHADOW UTILITIES */
.gco-shadow-sm { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; }
.gco-shadow { box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important; }
.gco-shadow-md { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; }
.gco-shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important; }
.gco-shadow-xl { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important; }
.gco-shadow-none { box-shadow: none !important; }

/* OPACITY UTILITIES */
.gco-opacity-0 { opacity: 0 !important; }
.gco-opacity-25 { opacity: 0.25 !important; }
.gco-opacity-50 { opacity: 0.5 !important; }
.gco-opacity-75 { opacity: 0.75 !important; }
.gco-opacity-100 { opacity: 1 !important; }

/* OVERFLOW UTILITIES */
.gco-overflow-auto { overflow: auto !important; }
.gco-overflow-hidden { overflow: hidden !important; }
.gco-overflow-visible { overflow: visible !important; }
.gco-overflow-scroll { overflow: scroll !important; }

/* CURSOR UTILITIES */
.gco-cursor-auto { cursor: auto !important; }
.gco-cursor-default { cursor: default !important; }
.gco-cursor-pointer { cursor: pointer !important; }
.gco-cursor-wait { cursor: wait !important; }
.gco-cursor-text { cursor: text !important; }
.gco-cursor-move { cursor: move !important; }
.gco-cursor-not-allowed { cursor: not-allowed !important; }

/* FONT WEIGHT UTILITIES */
.gco-font-thin { font-weight: 100 !important; }
.gco-font-light { font-weight: 300 !important; }
.gco-font-normal { font-weight: 400 !important; }
.gco-font-medium { font-weight: 500 !important; }
.gco-font-semibold { font-weight: 600 !important; }
.gco-font-bold { font-weight: 700 !important; }
.gco-font-extrabold { font-weight: 800 !important; }
.gco-font-black { font-weight: 900 !important; }

/* FONT SIZE UTILITIES */
.gco-text-xs { font-size: 0.75rem !important; line-height: 1rem !important; }
.gco-text-sm { font-size: 0.875rem !important; line-height: 1.25rem !important; }
.gco-text-base { font-size: 1rem !important; line-height: 1.5rem !important; }
.gco-text-lg { font-size: 1.125rem !important; line-height: 1.75rem !important; }
.gco-text-xl { font-size: 1.25rem !important; line-height: 1.75rem !important; }
.gco-text-2xl { font-size: 1.5rem !important; line-height: 2rem !important; }
.gco-text-3xl { font-size: 1.875rem !important; line-height: 2.25rem !important; }
.gco-text-4xl { font-size: 2.25rem !important; line-height: 2.5rem !important; }
.gco-text-5xl { font-size: 3rem !important; line-height: 1 !important; }
.gco-text-6xl { font-size: 3.75rem !important; line-height: 1 !important; }

/* COLOR UTILITIES (using theme colors) */
.gco-text-white { color: var(--wp--preset--color--white) !important; }
.gco-text-dark { color: var(--wp--preset--color--dark) !important; }
.gco-text-gco-red { color: var(--wp--preset--color--gco-red) !important; }
.gco-text-gray { color: var(--wp--preset--color--gray) !important; }

.gco-bg-white { background-color: var(--wp--preset--color--white) !important; }
.gco-bg-dark { background-color: var(--wp--preset--color--dark) !important; }
.gco-bg-gco-red { background-color: var(--wp--preset--color--gco-red) !important; }
.gco-bg-gray { background-color: var(--wp--preset--color--gray) !important; }

/* GSAP LINE-BY-LINE ANIMATIONS */
/* Custom styles for GSAP line wrappers */
.gsap-line {
  /* Preserve styling from parent elements */
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: inherit;
  letter-spacing: inherit;
  margin: 0;
  padding: 0;
  display: block;
}

/* Container for GSAP animated content */
.gsap-lines-container {
  overflow: hidden;
}

/* Ensure GSAP animations work well with WordPress content */
[data-gsap-lines] .gsap-line {
  display: block;
}

/* Animated state indicator */
.gsap-animated {
  /* Optional: Add any styles for completed animations */
}

/* Performance optimization for GSAP transforms */
.gsap-line,
[data-gsap-lines] > * {
  will-change: transform, opacity;
}

/* Reset will-change after animation completes */
.gsap-animated .gsap-line,
.gsap-animated > * {
  will-change: auto;
}
.gco-bg-transparent { background-color: transparent !important; }

/* RESPONSIVE SPACING UTILITIES */
@media (max-width: 767px) {
  .gco-p-mobile-0 { padding: 0 !important; }
  .gco-p-mobile-1 { padding: 0.5rem !important; }
  .gco-p-mobile-2 { padding: 1rem !important; }
  .gco-p-mobile-3 { padding: 1.5rem !important; }
  .gco-p-mobile-4 { padding: 2rem !important; }
  
  .gco-m-mobile-0 { margin: 0 !important; }
  .gco-m-mobile-1 { margin: 0.5rem !important; }
  .gco-m-mobile-2 { margin: 1rem !important; }
  .gco-m-mobile-3 { margin: 1.5rem !important; }
  .gco-m-mobile-4 { margin: 2rem !important; }
}

@media (min-width: 440px) and (max-width: 1440px) {
  .gco-p-tablet-0 { padding: 0 !important; }
  .gco-p-tablet-1 { padding: 0.5rem !important; }
  .gco-p-tablet-2 { padding: 1rem !important; }
  .gco-p-tablet-3 { padding: 1.5rem !important; }
  .gco-p-tablet-4 { padding: 2rem !important; }
  
  .gco-m-tablet-0 { margin: 0 !important; }
  .gco-m-tablet-1 { margin: 0.5rem !important; }
  .gco-m-tablet-2 { margin: 1rem !important; }
  .gco-m-tablet-3 { margin: 1.5rem !important; }
  .gco-m-tablet-4 { margin: 2rem !important; }
}

@media (min-width: 1440px) {
  .gco-p-desktop-0 { padding: 0 !important; }
  .gco-p-desktop-1 { padding: 0.5rem !important; }
  .gco-p-desktop-2 { padding: 1rem !important; }
  .gco-p-desktop-3 { padding: 1.5rem !important; }
  .gco-p-desktop-4 { padding: 2rem !important; }
  
  .gco-m-desktop-0 { margin: 0 !important; }
  .gco-m-desktop-1 { margin: 0.5rem !important; }
  .gco-m-desktop-2 { margin: 1rem !important; }
  .gco-m-desktop-3 { margin: 1.5rem !important; }
  .gco-m-desktop-4 { margin: 2rem !important; }
}

/* SPECIAL UTILITIES */
.gco-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.gco-not-sr-only {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

/* PRINT UTILITIES */
@media print {
  .gco-print-none { display: none !important; }
  .gco-print-block { display: block !important; }
  .gco-print-inline { display: inline !important; }
  .gco-print-inline-block { display: inline-block !important; }
}

/* ==========================================================================
   SECONDARY HEADER STYLES
   ========================================================================== */

/* Secondary header base styling */
.site-header-secondary,
header.site-header-secondary {
  background-color: var(--wp--preset--color--accent-orange) !important;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding-top: 0 !important;
  padding-right: 2rem;
  padding-bottom: 0 !important;
  padding-left: 2rem;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Secondary header responsive padding */
.site-header-secondary,
header.site-header-secondary {
  padding-left: max(2rem, calc((100vw - 1440px) / 2)) !important;
  padding-right: max(2rem, calc((100vw - 1440px) / 2)) !important;
}

/* Secondary header logo styling - black by default */
.site-header-secondary .wp-block-site-logo img,
header.site-header-secondary .wp-block-site-logo img {
  filter: none; /* Keep original logo colors (black) */
  transition: filter 0.3s ease;
  width: 236px;
  margin-bottom: 1.5rem;
}

.site-header-secondary .wp-block-site-logo svg,
.site-header-secondary .wp-block-site-logo svg *,
header.site-header-secondary .wp-block-site-logo svg,
header.site-header-secondary .wp-block-site-logo svg * {
  fill: var(--wp--preset--color--dark) !important;
  stroke: var(--wp--preset--color--dark) !important;
  transition: fill 0.3s ease, stroke 0.3s ease;
}

/* Secondary header navigation links - dark text */
.site-header-secondary .wp-block-navigation a,
.site-header-secondary .wp-block-navigation .wp-block-navigation-item__content,
header.site-header-secondary .wp-block-navigation a,
header.site-header-secondary .wp-block-navigation .wp-block-navigation-item__content {
  color: var(--wp--preset--color--dark) !important;
}

/* Secondary header navigation link hover - gray */
.site-header-secondary .wp-block-navigation-item a:hover,
header.site-header-secondary .wp-block-navigation-item a:hover,
.site-header-secondary .wp-block-navigation-item.current-menu-item a,
header.site-header-secondary .wp-block-navigation-item.current-menu-item a,
.site-header-secondary .wp-block-navigation-item.current_page_item a,
header.site-header-secondary .wp-block-navigation-item.current_page_item a {
  color: var(--wp--preset--color--dark) !important;
  background-color: var(--wp--preset--color--principal-white) !important;
}

/* Secondary header hamburger menu icon - dark */
.site-header-secondary .wp-block-navigation__responsive-container-open svg,
header.site-header-secondary .wp-block-navigation__responsive-container-open svg {
  fill: var(--wp--preset--color--dark) !important;
}

/* Secondary header responsive container */
.site-header-secondary .wp-block-navigation__responsive-container-open,
header.site-header-secondary .wp-block-navigation__responsive-container-open {
  background-color: var(--wp--preset--color--accent-orange);
}

/* Mobile responsive adjustments for secondary header */
@media (max-width: 1023px) {
  .site-header-secondary,
  header.site-header-secondary {
    padding-top: 2rem !important;
    padding-right: 1rem;
    padding-bottom: 1rem !important;
    padding-left: 1rem;
  }

  .site-header-secondary .wp-block-site-logo img,
  header.site-header-secondary .wp-block-site-logo img {
    width: 180px;
    margin-bottom: 0 !important;
  }
}

/* ==========================================================================
   GRAY HEADER STYLES
   ========================================================================== */

/* Gray header base styling */
.site-header-gray,
header.site-header-gray {
  background-color: var(--wp--preset--color--principal-white) !important;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding-top: 0 !important;
  padding-right: 2rem;
  padding-bottom: 0 !important;
  padding-left: 2rem;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  border-top: 16px solid var(--wp--preset--color--accent-orange);
}

/* Gray header responsive padding */
.site-header-gray,
header.site-header-gray {
  padding-left: max(2rem, calc((100vw - 1440px) / 2)) !important;
  padding-right: max(2rem, calc((100vw - 1440px) / 2)) !important;
}

/* Gray header logo styling - black by default */
.site-header-gray .wp-block-site-logo img,
header.site-header-gray .wp-block-site-logo img {
  filter: none; /* Keep original logo colors (black) */
  transition: filter 0.3s ease;
  width: 236px;
  margin-bottom: 1.5rem;
}

.site-header-gray .wp-block-site-logo svg,
.site-header-gray .wp-block-site-logo svg *,
header.site-header-gray .wp-block-site-logo svg,
header.site-header-gray .wp-block-site-logo svg * {
  fill: var(--wp--preset--color--dark) !important;
  stroke: var(--wp--preset--color--dark) !important;
  transition: fill 0.3s ease, stroke 0.3s ease;
}

/* Gray header navigation links - dark text */
.site-header-gray .wp-block-navigation a,
.site-header-gray .wp-block-navigation .wp-block-navigation-item__content,
header.site-header-gray .wp-block-navigation a,
header.site-header-gray .wp-block-navigation .wp-block-navigation-item__content {
  color: var(--wp--preset--color--dark) !important;
}

/* Gray header navigation link hover - accent orange */
.site-header-gray .wp-block-navigation-item a:hover,
header.site-header-gray .wp-block-navigation-item a:hover,
.site-header-gray .wp-block-navigation-item.current-menu-item a,
header.site-header-gray .wp-block-navigation-item.current-menu-item a,
.site-header-gray .wp-block-navigation-item.current_page_item a,
header.site-header-gray .wp-block-navigation-item.current_page_item a {
  color: var(--wp--preset--color--dark) !important;
  background-color: var(--wp--preset--color--accent-orange) !important;
}

/* Gray header hamburger menu icon - dark */
.site-header-gray .wp-block-navigation__responsive-container-open svg,
header.site-header-gray .wp-block-navigation__responsive-container-open svg {
  fill: var(--wp--preset--color--dark) !important;
}

/* Gray header responsive container */
.site-header-gray .wp-block-navigation__responsive-container-open,
header.site-header-gray .wp-block-navigation__responsive-container-open {
  background-color: var(--wp--preset--color--principal-white);
}

/* Mobile menu styling for gray header - ensure dark background like other headers */
.site-header-gray .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--wp--preset--color--primary) !important;
}

/* Mobile responsive adjustments for gray header */
@media (max-width: 1023px) {
  .site-header-gray,
  header.site-header-gray {
    padding-top: 2rem !important;
    padding-right: 1rem;
    padding-bottom: 1rem !important;
    padding-left: 1rem;
  }

  .site-header-gray .wp-block-site-logo img,
  header.site-header-gray .wp-block-site-logo img {
    width: 180px;
    margin-bottom: 0 !important;
  }
  
  /* Ensure mobile menu links are white for better contrast */
  .site-header-gray .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
    padding: 1rem 0 !important;
    color: var(--wp--preset--color--white) !important;
  }
}

/* ==========================================================================
   WHITE HEADER STYLES
   ========================================================================== */

/* White header base styling */
.site-header-white,
header.site-header-white {
  background-color: var(--wp--preset--color--white) !important;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding-top: 0 !important;
  padding-right: 2rem;
  padding-bottom: 0 !important;
  padding-left: 2rem;
  transition: background-color 0.3s ease;
  border-top: 16px solid var(--wp--preset--color--accent-orange);
}

/* White header responsive padding */
.site-header-white,
header.site-header-white {
  padding-left: max(2rem, calc((100vw - 1440px) / 2)) !important;
  padding-right: max(2rem, calc((100vw - 1440px) / 2)) !important;
}

/* White header logo styling - black by default */
.site-header-white .wp-block-site-logo img,
header.site-header-white .wp-block-site-logo img {
  filter: none; /* Keep original logo colors (black) */
  transition: filter 0.3s ease;
  width: 236px;
  margin-bottom: 1.5rem;
}

.site-header-white .wp-block-site-logo svg,
.site-header-white .wp-block-site-logo svg *,
header.site-header-white .wp-block-site-logo svg,
header.site-header-white .wp-block-site-logo svg * {
  fill: var(--wp--preset--color--dark) !important;
  stroke: var(--wp--preset--color--dark) !important;
  transition: fill 0.3s ease, stroke 0.3s ease;
}

/* White header navigation links - dark text */
.site-header-white .wp-block-navigation a,
.site-header-white .wp-block-navigation .wp-block-navigation-item__content,
header.site-header-white .wp-block-navigation a,
header.site-header-white .wp-block-navigation .wp-block-navigation-item__content {
  color: var(--wp--preset--color--dark) !important;
}

/* White header navigation link hover - accent orange */
.site-header-white .wp-block-navigation-item a:hover,
header.site-header-white .wp-block-navigation-item a:hover,
.site-header-white .wp-block-navigation-item.current-menu-item a,
header.site-header-white .wp-block-navigation-item.current-menu-item a,
.site-header-white .wp-block-navigation-item.current_page_item a,
header.site-header-white .wp-block-navigation-item.current_page_item a {
  color: var(--wp--preset--color--dark) !important;
  background-color: var(--wp--preset--color--accent-orange) !important;
}

/* White header hamburger menu icon - dark */
.site-header-white .wp-block-navigation__responsive-container-open svg,
header.site-header-white .wp-block-navigation__responsive-container-open svg {
  fill: var(--wp--preset--color--dark) !important;
}

/* White header responsive container */
.site-header-white .wp-block-navigation__responsive-container-open,
header.site-header-white .wp-block-navigation__responsive-container-open {
  background-color: var(--wp--preset--color--white);
}

/* Mobile menu styling for white header - ensure dark background like other headers */
.site-header-white .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--wp--preset--color--primary) !important;
}

/* Mobile responsive adjustments for white header */
@media (max-width: 1023px) {
  .site-header-white,
  header.site-header-white {
    padding-top: 2rem !important;
    padding-right: 1rem;
    padding-bottom: 1rem !important;
    padding-left: 1rem;
  }

  .site-header-white .wp-block-site-logo img,
  header.site-header-white .wp-block-site-logo img {
    width: 180px;
    margin-bottom: 0 !important;
  }
  
  /* Ensure mobile menu links are white for better contrast */
  .site-header-white .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
    padding: 1rem 0 !important;
    color: var(--wp--preset--color--white) !important;
  }
}

/**
* Font sizes
*/
@media (max-width: 1024px) {
  .has-h-1-home-font-size {
    font-size: 68px !important;
  }
  .has-h-1-font-size {
    font-size: 52px !important;
  }
  .has-h-2-font-size {
    font-size: 38px !important;
  }
  .has-h-3-font-size {
    font-size: 28.5px !important;
  }
  .has-h-4-font-size {
    font-size: 21.4px !important;
  }
  .has-h-5-font-size {
    font-size: 18px !important;
  }
  .has-featured-font-size {
    font-size: 18px !important;
  }
  .has-body-font-size {
    font-size: 16px !important;
  }
  .has-mini-font-size {
    font-size: 12px !important;
  }
}

@media (max-width: 440px) {
  .has-h-1-home-font-size {
    font-size: 46px !important;
  }
  .has-h-1-font-size {
    font-size: 38px !important;
  }
  .has-h-2-font-size {
    font-size: 30.4px !important;
  }
  .has-h-3-font-size {
    font-size: 22.8px !important;
  }
  .has-h-4-font-size {
    font-size: 17px !important;
  }
  .has-h-5-font-size {
    font-size: 16px !important;
  }
  .has-featured-font-size {
    font-size: 16px !important;
  }
  .has-body-font-size {
    font-size: 14px !important;
  }
  .has-mini-font-size {
    font-size: 12px !important;
  }
}

.gco-flex-justify-between {
  justify-content: space-between;
}

.gco-flex-justify-center {
  justify-content: center;
}

.gco-flex-justify-end {
  justify-content: flex-end;
}

@media (max-width: 1440px) {
  .gco-padding-right-82 {
    padding-right: 82px !important;
  }

  .gco-padding-left-82 {
    padding-left: 82px !important;
  }
}

@media (max-width: 440px) {
  .gco-padding-right-82 {
    padding-right: 30px !important;
  }

  .gco-padding-left-82 {
    padding-left: 30px !important;
  }
}

.gco-desktop-margin-right-82 {
  margin-right: 82px !important;
}

.gco-desktop-margin-left-82 {
  margin-left: 82px !important;
}

@media (max-width: 440px) {
  .gco-desktop-margin-right-82 {
    margin-right: 0 !important;
  }

  .gco-desktop-margin-left-82 {
    margin-left: 0 !important;
  }
}

/**
* Forminator
*/
.forminator-left-column {
  max-width: 350px;
  font-family: var(--wp--preset--font-family--gco-sans);
}

.forminator-left-column h5 {
  margin-top: 1.25rem;
  margin-bottom: 0;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 110%;
}
@media (max-width: 1024px) {
  .forminator-left-column {
    max-width: 247px;
  }
}

@media (max-width: 440px) {
  .forminator-left-column {
    max-width: 100%;
  }
}

.forminator-repeater-field {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.forminator-label, .forminator-radio-label {
  font-family: var(--wp--preset--font-family--gco-sans) !important;
  font-size: var(--wp--preset--font-size--featured) !important;
  font-weight: 400 !important;
}

.forminator-input, .forminator-textarea {
  font-family: var(--wp--preset--font-family--gco-sans) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wp--preset--color--dark) !important;
}

.forminator-input:focus, .forminator-textarea:focus {
  outline: none !important;
  border-bottom: 1px solid var(--wp--preset--color--dark) !important;
}

.forminator-region-radio-group span.forminator-radio-label {
  font-size: var(--wp--preset--font-size--body) !important;
}

.forminator-row .forminator-col {
  padding: 16px 32px !important;
}

.forminator-field-group.forminator-col {
  padding: 0 !important;
}

.forminator-checkbox-label {
  font-size: var(--wp--preset--font-size--body) !important;
  font-family: var(--wp--preset--font-family--gco-sans) !important;
}

.forminator-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 8px 32px 6px 32px !important;
  border-radius: 999px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  border: 2px solid transparent !important;
  line-height: 1 !important;
  font-family: var(--wp--preset--font-family--gco-sans) !important;
  background-color: var(--wp--preset--color--accent-orange) !important;
  color: var(--wp--preset--color--dark) !important;
  font-size: var(--wp--preset--font-size--featured) !important;
  
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform: translateZ(0) !important;
  will-change: transform, box-shadow !important;
}
.forminator-button:hover {
  transform: scale(1.05) translateY(-2px) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15) !important;
}

.forminator-row-last {
  margin-top: -32px !important;
  text-align: right;
}

.forminator-field-html.forminator-col.forminator-col-12 {
  padding: 0 !important;
}

@media (max-width: 440px) {
  .forminator-field-html.forminator-col.forminator-col-6.forminator-left-column {
    padding: 0 !important;
  }

  .forminator-field-html.forminator-col.forminator-col-12 {
    padding: 16px 0 !important;
  }

  .forminator-button {
    width: auto !important;
  }
  .forminator-row-last {
    margin-top: -16px !important;
    text-align: left !important;
  }
}

.forminator-field-html hr {
  border: 1px solid var(--wp--preset--color--primary) !important;
}

.forminator-conditional-group {
  background: var(--wp--preset--color--principal-white) !important;
  border-radius: 32px !important;
}

.forminator-conditional-group .forminator-row {
  margin: 0 !important;
  padding: 8px 16px !important;
}

.forminator-conditional-group .forminator-label {
  font-size: var(--wp--preset--font-size--body) !important;
}

.forminator-conditional-group .select2-selection.select2-selection--single {
  border: 0 !important;
  border-bottom: 1px solid var(--wp--preset--color--dark) !important;
}

.select2-results__option--selected, .select2-results__option--highlighted {
  background: var(--wp--preset--color--accent-orange) !important;
  color: var(--wp--preset--color--dark) !important;
  outline: 0 !important;
}

.select2-results__option {
  color: var(--wp--preset--color--dark) !important;
}

.forminator-select-dropdown {
  border: 0 !important;
}

.forminator-field-upload .forminator-field {
  border: 0 !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--wp--preset--color--dark) !important;
}

.forminator-field-upload .forminator-button {
  font-size: var(--wp--preset--font-size--small) !important;
}

.forminator-field-checkbox .forminator-checkbox-label a {
  color: var(--wp--preset--color--dark) !important;
}

.gco-404-image img {
  height: 231px;
}

@media (max-width: 1024px) {
  .gco-404-image img {
    height: 178px;
  }
}

@media (max-width: 440px) {
  .gco-404-image img {
    height: 126px;
  }
}

.gco-leading-gco { line-height: 110% !important; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}