/*
Theme Name: Colab Template Theme
Theme URI: https://www.colabconnects.co.nz/
Description: Child theme for Hello Elementor. Provides global CSS + JS hooks and project-wide styling overrides.
Author: Jonny Cui
Author URI: https://jonnycui.work/
Template: hello-elementor
Version: 1.0.0
Text Domain: colab
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 8.0
*/

/* ==========================================================================
   Root Variables
   ========================================================================== */

:root {
  /* Typography Scale */
	 --fs-nav: clamp(0.875rem, 0.6vw + 0.7rem, 1.125rem)
	  --fs-body: clamp(1rem, 0.6vw + 0.8rem, 1.25rem);
	  --fs-h1: clamp(2.63rem, 4vw + 2rem, 5rem);
	  --fs-h2: clamp(2rem, 2.5vw + 1.4rem, 3rem);
	  --fs-h3: clamp(1.75rem, 2.3vw + 1.2rem, 2.75rem);
	  --fs-h4: clamp(1.5rem, 1.5vw + 1rem, 2rem);


  /* Spacing Scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;

  /* Layout */
  --container-width: 1200px;
  --container-padding: clamp(1rem, 3vw, 2rem);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-1: 120ms;
  --dur-2: 240ms;

  /* Shadows */
  --shadow-1: 0 2px 6px rgba(0,0,0,0.08);
  --shadow-2: 0 4px 12px rgba(0,0,0,0.12);
}

/* ==========================================================================
   Base Styles
   ========================================================================== */
html {
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
}

body { font-size: var(--fs-body); line-height: 1.55; }

h1 { font-size: var(--fs-h1); line-height: 1.1; }
h2 { font-size: var(--fs-h2); line-height: 1.15; }
h3 { font-size: var(--fs-h3); line-height: 1.2; }
h4 { font-size: var(--fs-h4); line-height: 1.25; }


/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  * {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}

/* All Elementor buttons full width & no wrap */
.elementor-button {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
}

/* Navigation Menu */
.elementor-nav-menu a.elementor-item {
  font-size: var(--fs-nav);
  line-height: 1.25;
  letter-spacing: 0.01em;
}


/* ==========================================================================
   Layout Utilities
   ========================================================================== */

/* Fluid container */
.container {
  width: min(var(--container-width), 100% - var(--container-padding) * 2);
  margin-inline: auto;
}

/* Common utilities */
.u-flex { display: flex; align-items: center; }
.u-flex-center { display: flex; justify-content: center; align-items: center; }
.u-hide { display: none !important; }

/* ==========================================================================
   Responsive Media Queries
   ========================================================================== */

/* Wide Monitor */
@media (min-width: 2560px) {}

/* Design Base - 1920px (FHD) */


/* Large Laptop: 1536 x 864 */
@media (max-width: 1536px) {
	
}

/* Medium Laptop: 1440 x 900 */
@media (max-width: 1440px) {
	body .elementor-nav-menu a.elementor-item,
	body .elementor-widget-button .elementor-button{
		font-size: calc(0.15vw + 12px)!important;
		padding: calc(0.10vw + 10px);
	}
}

/* Small Laptop: 1145 x 768 (HD) */
@media (max-width: 1145px) {
	body .elementor-nav-menu a.elementor-item,
	body .elementor-widget-button .elementor-button{
		font-size: 13px!important;
		padding: 8px;
	}
}
/* Large Tablet */
@media (max-width: 1104px)  and (min-width: 981px){
	header > div.e-parent{padding: 15px;}
	body .elementor-nav-menu a.elementor-item,
	body .elementor-widget-button .elementor-button{
		font-size: 12px!important;
		padding: 5px;
	}
}

/* Tablet */
@media (max-width: 980px) {}

/* Mobile */
@media (max-width: 767px) {}
