/*
Theme Name: UCERT
Theme URI: https://ucert.com
Description: A clean, minimal WordPress theme built for Elementor Pro. Designed for certification and accreditation websites.
Author: UCERT
Author URI: https://ucert.com
Version: 1.0.0
Text Domain: ucert
Tags: elementor, minimal, clean, certification, professional
*/

/* ── CSS Variables ────────────────────────────────────────── */
:root {
    --ucert-color-primary:    #113c64;
    --ucert-color-secondary:  #0a2540;
    --ucert-color-accent:     #113c64;
    --ucert-color-light:      #f4f7fb;
    --ucert-color-white:      #ffffff;
    --ucert-color-text:       #111111;
    --ucert-color-muted:      #555555;
    --ucert-color-border:     #e2e8f0;

    --ucert-font-heading:     'Montserrat', sans-serif;
    --ucert-font-body:        'Open Sans', sans-serif;

    --ucert-radius:           5px;
    --ucert-radius-lg:        10px;
    --ucert-shadow-sm:        0 1px 3px rgba(17,60,100,.06);
    --ucert-shadow-md:        0 4px 16px rgba(17,60,100,.10);
    --ucert-transition:       0.2s ease;
}

/* ── Reset ────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--ucert-font-body);
    font-size: 16px;
    line-height: 1.75;
    color: var(--ucert-color-text);
    background-color: var(--ucert-color-white);
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
}

/* ── Typography ───────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--ucert-font-heading);
    font-weight: 700;
    line-height: 1.2;
    color: #111111;
    margin-top: 0;
    margin-bottom: 0.75em;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 4vw, 2.5rem); }
h3 { font-size: clamp(1.25rem, 3vw, 1.875rem); }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }

p { margin-top: 0; margin-bottom: 1.25em; }

a {
color: var(--ucert-color-accent); 
    text-decoration: none;
    transition: opacity var(--ucert-transition);
}


ul, ol { padding-left: 1.5em; margin-top: 0; margin-bottom: 1.25em; }
li { margin-bottom: 0.4em; }




/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 768px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.5rem; }
}

/* MENU */
.elementor-14 .elementor-element.elementor-element-826a8a6 .elementor-nav-menu--main .elementor-item.elementor-item-active {
	font-weight: 600!important;
}
#cert-mega-menu {
	position: absolute;
	top: 100%;

	width: 700px;          
	max-width: 90vw;       
	background: #fff;
	box-shadow: 0 10px 30px rgba(0,0,0,0.08);
	display: none;
	z-index: 1;
	padding: 20px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	
	
}
#cert-mega-menu.is-open { 
	display: flex; 
	gap: 60px; 
}

.cert-mega-col-left { 
	display: flex; 
	flex-direction: column; 
	gap: 30px; 
	min-width: 260px; 
}

.cert-mega-item { 
	cursor: pointer; 
	color: #444; 
}
.cert-mega-item.is-active {
	font-weight: 700; 
	color: #113C64; 
}

.cert-mega-col-right { 
	flex: 1; 
}
.cert-mega-panel { 
	display: none; 
	flex-direction: column; 
	gap: 12px; 
}
.cert-mega-panel.is-active { 
	display: flex; 
}
.cert-mega-panel a { 
	color: #113C64; text-decoration: none; 
}
.cert-mega-panel a:hover {
	text-decoration: underline; 
}


.elementor-sub-item.elementor-item-active.has-submenu {
	line-height: 36px;
}
a.elementor-sub-item {
	line-height: 36px!important;
}
/* Hide the original SmartMenus-powered menu completely */
.mob-menu {
  display: none !important;
}

#custom-stepper-root {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.stepper-panel {
  display: none;
  width: 100%;
}

.stepper-panel.is-active {
  display: block;
}

.stepper-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 20px;
	color: #113C64;
	cursor: pointer;
	font-size: 26px;
	text-decoration: none;
	line-height: 34px;
}

.stepper-row:not(.has-children) {
	color: #113C64;
	font-size: 26px;
}

.stepper-back {
  font-size: 46px;
  font-weight: 400;
  padding: 0px 20px;
  cursor: pointer;
  color: #113C64;
}

.stepper-chevron::after {
  content: "›";
  font-size: 46px;
  margin-left: 8px;
}

/* ISO */

.iso-subtitle p {
	margin: 0px!important;
}
.iso-btn:hover {
	background-color: #113C64;
}

.iso-btn:hover .iso-subtitle {
	color: #ffffff!important
}
.iso-btn:hover .iso-title h3{
	color: #ffffff!important;
}

/* NEWSLETTER */

#newsletter form .elementor-form-fields-wrapper .e-form__buttons button{
    position: absolute;
    top:-80px;
}
@media (max-width: 1011px){
	#newsletter form .elementor-form-fields-wrapper .e-form__buttons button{
    	position:absolute;
    	top:-115px;
	}
}
@media (max-width: 767px){
	#newsletter form .elementor-form-fields-wrapper .e-form__buttons button{
    	position:absolute;
    	top:-80px;
	}
}
@media (max-width: 500px){
	#newsletter form .elementor-form-fields-wrapper .e-form__buttons button{
    	position:absolute;
    	top:-115px;
	}
}

/* Certification card hover animation */
.certification-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  border: 1px solid transparent;
  will-change: transform;
}

.certification-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(17, 60, 100, 0.18);
  border-color: #c9a24b; 
}

.certification-card img {
  transition: transform 0.5s ease;
  overflow: hidden;
}

.certification-card:hover img {
  transform: scale(1.06);
}


.certification-card .elementor-heading-title {
  transition: color 0.3s ease;
}

.certification-card:hover .elementor-heading-title {
  color: #c9a24b;
}

@media only screen and (max-width: 1280px) and (min-width: 1025px)  {
	.elementor-14 .elementor-element.elementor-element-826a8a6 .elementor-nav-menu--main .elementor-item {
    padding-left: 3px!important;
    padding-right: 3px!important;
}
	
}

#form-field-pistopoiisi option,
#form-field-field_fe7d996 option,
#form-field-field_ae9680d option,
#form-field-field_426b9c0 option,
#form-field-certification_sector option,
#form-field-certification_field option {
    color: #000000 !important;
    background-color: #ffffff !important;
} 
