.elementor-kit-15{--e-global-color-primary:#00AF5F;--e-global-color-secondary:#0F2137;--e-global-color-text:#1A2F4A;--e-global-color-accent:#F0C687;--e-global-color-gray_100:#E9ECEF;--e-global-color-blue_light:#E6F2FF;--e-global-color-blue_medium:#4D94D9;--e-global-color-purple_gradient:#2D4465;--e-global-color-gray_50:#F8F9FA;--e-global-color-gray_200:#DEE2E6;--e-global-color-gray_600:#6C757D;--e-global-color-gray_800:#343A40;--e-global-color-white:#FFFFFF;--e-global-color-success_green:#28A745;--e-global-color-f6f359a:#0449A1;--e-global-color-2502748:#66CF9F;--e-global-color-930d7a7:#00AF5F;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.5em;--e-global-typography-accent-letter-spacing:0.5px;--e-global-typography-nav_link-font-family:"Inter";--e-global-typography-nav_link-font-size:15px;--e-global-typography-nav_link-font-weight:500;--e-global-typography-nav_link-line-height:1.5em;}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{background-color:var( --e-global-color-text );color:var( --e-global-color-2502748 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-2502748 );border-radius:12px 12px 12px 12px;padding:22px 22px 22px 22px;}.elementor-kit-15 button:hover,.elementor-kit-15 button:focus,.elementor-kit-15 input[type="button"]:hover,.elementor-kit-15 input[type="button"]:focus,.elementor-kit-15 input[type="submit"]:hover,.elementor-kit-15 input[type="submit"]:focus,.elementor-kit-15 .elementor-button:hover,.elementor-kit-15 .elementor-button:focus{background-color:var( --e-global-color-gray_100 );color:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-success_green );border-radius:1px 1px 1px 1px;}.elementor-kit-15 e-page-transition{background-color:#FFBC7D;}.elementor-kit-15 a{color:var( --e-global-color-success_green );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================================
   ICCE 2027 Custom Styles
   ========================================================================== */

/* Root Variables */

/* :root {

  --primary-blue: #0066CC;
  --deep-blue: #003D82;
  --blue-light: #E6F2FF;
  --blue-medium: #4D94D9;
  --purple-gradient: #6B5CE7;
  --accent-orange: #FF6B35;
  --text-dark: #1A1A1A;
  --gray-50: #F8F9FA;
  --gray-100: #E9ECEF;
  --gray-200: #DEE2E6;
  --gray-600: #6C757D;
  --gray-800: #343A40;
  --white: #FFFFFF;
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
*/

:root {
  /* Navy */
  --navy-950: #0a1628;
  --navy-900: #0f2137;
  --navy-800: #1a2f4a;
  --navy-700: #2d4465;
  --navy-600: #3d5a80;
  --navy-500: #4e709d;
  --navy-100: #e8ecf2;
  --navy-50: #f4f6f9;

  /* Green */
  --green-600: #009A4D;
  --green-500: #00af5f;
  --green-400: #33bf7f;
  --green-300: #66cf9f;
  --green-200: #99dfbf;
  --green-100: #ccefdf;
  --green-50: #e6f7ef;

  /* Cyan */
  --cyan-600: #2da5c0;
  --cyan-500: #3DBED9;
  --cyan-400: #47c7e7;
  --cyan-300: #75d5ed;
  --cyan-200: #a3e3f3;
  --cyan-100: #d1f1f9;
  --cyan-50: #e8f8fc;

  /* Neutral */
  --white: #ffffff;
  --black: #000000;
  --gray-900: #1A1A1A;
  --gray-600: #6C757D;
  --gray-100: #E9ECEF;
  --gray-50: #F8F9FA;
}

/* TEXT COLORS */
.text-navy-950 { color: var(--navy-950) !important; }
.text-navy-900 { color: var(--navy-900) !important; }
.text-navy-800 { color: var(--navy-800) !important; }
.text-navy-700 { color: var(--navy-700) !important; }
.text-navy-600 { color: var(--navy-600) !important; }
.text-navy-500 { color: var(--navy-500) !important; }
.text-navy-100 { color: var(--navy-100) !important; }
.text-navy-50  { color: var(--navy-50) !important; }

.text-green-600 { color: var(--green-600) !important; }
.text-green-500 { color: var(--green-500) !important; }
.text-green-400 { color: var(--green-400) !important; }
.text-green-300 { color: var(--green-300) !important; }
.text-green-200 { color: var(--green-200) !important; }
.text-green-100 { color: var(--green-100) !important; }
.text-green-50  { color: var(--green-50) !important; }

.text-cyan-600 { color: var(--cyan-600) !important; }
.text-cyan-500 { color: var(--cyan-500) !important; }
.text-cyan-400 { color: var(--cyan-400) !important; }
.text-cyan-300 { color: var(--cyan-300) !important; }
.text-cyan-200 { color: var(--cyan-200) !important; }
.text-cyan-100 { color: var(--cyan-100) !important; }
.text-cyan-50  { color: var(--cyan-50) !important; }

.text-white    { color: var(--white) !important; }
.text-black    { color: var(--black) !important; }
.text-gray-900 { color: var(--gray-900) !important; }
.text-gray-600 { color: var(--gray-600) !important; }
.text-gray-100 { color: var(--gray-100) !important; }
.text-gray-50  { color: var(--gray-50) !important; }

/* BACKGROUND COLORS */
.bg-navy-950 { background-color: var(--navy-950) !important; }
.bg-navy-900 { background-color: var(--navy-900) !important; }
.bg-navy-800 { background-color: var(--navy-800) !important; }
.bg-navy-700 { background-color: var(--navy-700) !important; }
.bg-navy-600 { background-color: var(--navy-600) !important; }
.bg-navy-500 { background-color: var(--navy-500) !important; }
.bg-navy-100 { background-color: var(--navy-100) !important; }
.bg-navy-50  { background-color: var(--navy-50) !important; }

.bg-green-600 { background-color: var(--green-600) !important; }
.bg-green-500 { background-color: var(--green-500) !important; }
.bg-green-400 { background-color: var(--green-400) !important; }
.bg-green-300 { background-color: var(--green-300) !important; }
.bg-green-200 { background-color: var(--green-200) !important; }
.bg-green-100 { background-color: var(--green-100) !important; }
.bg-green-50  { background-color: var(--green-50) !important; }

.bg-cyan-600 { background-color: var(--cyan-600) !important; }
.bg-cyan-500 { background-color: var(--cyan-500) !important; }
.bg-cyan-400 { background-color: var(--cyan-400) !important; }
.bg-cyan-300 { background-color: var(--cyan-300) !important; }
.bg-cyan-200 { background-color: var(--cyan-200) !important; }
.bg-cyan-100 { background-color: var(--cyan-100) !important; }
.bg-cyan-50  { background-color: var(--cyan-50) !important; }

.bg-white    { background-color: var(--white) !important; }
.bg-black    { background-color: var(--black) !important; }
.bg-gray-900 { background-color: var(--gray-900) !important; }
.bg-gray-600 { background-color: var(--gray-600) !important; }
.bg-gray-100 { background-color: var(--gray-100) !important; }
.bg-gray-50  { background-color: var(--gray-50) !important; }

/* BORDER COLORS */
.border-navy-950 { border-color: var(--navy-950) !important; }
.border-navy-900 { border-color: var(--navy-900) !important; }
.border-navy-800 { border-color: var(--navy-800) !important; }
.border-navy-700 { border-color: var(--navy-700) !important; }
.border-navy-600 { border-color: var(--navy-600) !important; }
.border-navy-500 { border-color: var(--navy-500) !important; }
.border-navy-100 { border-color: var(--navy-100) !important; }
.border-navy-50  { border-color: var(--navy-50) !important; }

.border-green-600 { border-color: var(--green-600) !important; }
.border-green-500 { border-color: var(--green-500) !important; }
.border-green-400 { border-color: var(--green-400) !important; }
.border-green-300 { border-color: var(--green-300) !important; }
.border-green-200 { border-color: var(--green-200) !important; }
.border-green-100 { border-color: var(--green-100) !important; }
.border-green-50  { border-color: var(--green-50) !important; }

.border-cyan-600 { border-color: var(--cyan-600) !important; }
.border-cyan-500 { border-color: var(--cyan-500) !important; }
.border-cyan-400 { border-color: var(--cyan-400) !important; }
.border-cyan-300 { border-color: var(--cyan-300) !important; }
.border-cyan-200 { border-color: var(--cyan-200) !important; }
.border-cyan-100 { border-color: var(--cyan-100) !important; }
.border-cyan-50  { border-color: var(--cyan-50) !important; }

.border-white    { border-color: var(--white) !important; }
.border-black    { border-color: var(--black) !important; }
.border-gray-900 { border-color: var(--gray-900) !important; }
.border-gray-600 { border-color: var(--gray-600) !important; }
.border-gray-100 { border-color: var(--gray-100) !important; }
.border-gray-50  { border-color: var(--gray-50) !important; }

/* FILL - dla SVG */
.fill-navy-950 { fill: var(--navy-950) !important; }
.fill-navy-900 { fill: var(--navy-900) !important; }
.fill-navy-800 { fill: var(--navy-800) !important; }
.fill-navy-700 { fill: var(--navy-700) !important; }
.fill-navy-600 { fill: var(--navy-600) !important; }
.fill-navy-500 { fill: var(--navy-500) !important; }

.fill-green-600 { fill: var(--green-600) !important; }
.fill-green-500 { fill: var(--green-500) !important; }
.fill-green-400 { fill: var(--green-400) !important; }
.fill-green-300 { fill: var(--green-300) !important; }
.fill-green-200 { fill: var(--green-200) !important; }
.fill-green-100 { fill: var(--green-100) !important; }

.fill-cyan-600 { fill: var(--cyan-600) !important; }
.fill-cyan-500 { fill: var(--cyan-500) !important; }
.fill-cyan-400 { fill: var(--cyan-400) !important; }
.fill-cyan-300 { fill: var(--cyan-300) !important; }
.fill-cyan-200 { fill: var(--cyan-200) !important; }
.fill-cyan-100 { fill: var(--cyan-100) !important; }

.fill-white { fill: var(--white) !important; }
.fill-black { fill: var(--black) !important; }

/* STROKE - dla ikon outline / SVG */
.stroke-navy-950 { stroke: var(--navy-950) !important; }
.stroke-navy-900 { stroke: var(--navy-900) !important; }
.stroke-navy-800 { stroke: var(--navy-800) !important; }
.stroke-navy-700 { stroke: var(--navy-700) !important; }
.stroke-navy-600 { stroke: var(--navy-600) !important; }
.stroke-navy-500 { stroke: var(--navy-500) !important; }

.stroke-green-600 { stroke: var(--green-600) !important; }
.stroke-green-500 { stroke: var(--green-500) !important; }
.stroke-green-400 { stroke: var(--green-400) !important; }
.stroke-green-300 { stroke: var(--green-300) !important; }
.stroke-green-200 { stroke: var(--green-200) !important; }
.stroke-green-100 { stroke: var(--green-100) !important; }

.stroke-cyan-600 { stroke: var(--cyan-600) !important; }
.stroke-cyan-500 { stroke: var(--cyan-500) !important; }
.stroke-cyan-400 { stroke: var(--cyan-400) !important; }
.stroke-cyan-300 { stroke: var(--cyan-300) !important; }
.stroke-cyan-200 { stroke: var(--cyan-200) !important; }
.stroke-cyan-100 { stroke: var(--cyan-100) !important; }

.stroke-white { stroke: var(--white) !important; }
.stroke-black { stroke: var(--black) !important; }
.font-semibold {
    font-weight: 600;
}

/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}

/* Font Smoothing */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   Hero Section - Animated Gradient
   ========================================================================== */

.hero-gradient-bg {
  background: linear-gradient(135deg, #0066CC 0%, #6B5CE7 100%);
  background-size: 200% 200%;
  animation: gradientShift 15s ease infinite;
}

@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Glassmorphism Badge */
.glass-badge {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50px;
  padding: 12px 24px;
}

/* ==========================================================================
   Navigation - Sticky Header
   ========================================================================== */

.sticky-nav {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  transition: var(--transition);
}

.sticky-nav.scrolled {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Nav Links Underline Animation */
.nav-link {
  position: relative;
  transition: color 0.3s ease;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--primary-blue);
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* ==========================================================================
   Buttons - Hover Effects
   ========================================================================== */

.elementor-button,
.custom-button {
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}

.elementor-button:hover,
.custom-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 102, 204, 0.3);
}

/* Button Ripple Effect */
.button-ripple::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.button-ripple:hover::before {
  width: 300px;
  height: 300px;
}

/* ==========================================================================
   Cards - Hover Effects
   ========================================================================== */

.info-card {
  background: var(--white);
  border-radius: 12px;
  padding: 40px 30px;
  transition: var(--transition);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.info-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 102, 204, 0.15);
}

.info-card .icon {
  transition: transform 0.3s ease;
}

.info-card:hover .icon {
  transform: scale(1.1) rotate(5deg);
}

/* ==========================================================================
   Topics Grid
   ========================================================================== */

.topic-card {
  background: var(--white);
  border: 2px solid var(--gray-200);
  border-radius: 8px;
  padding: 30px 25px;
  transition: var(--transition);
  cursor: pointer;
}

.topic-card:hover {
  border-color: var(--primary-blue);
  background: var(--blue-light);
  transform: translateY(-3px);
  box-shadow: 0 5px 20px rgba(0, 102, 204, 0.1);
}

.topic-card h3 {
  color: var(--text-dark);
  transition: color 0.3s ease;
}

.topic-card:hover h3 {
  color: var(--primary-blue);
}

/* ==========================================================================
   Scroll Animations
   ========================================================================== */

.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered Animation Delays */
.fade-in-up:nth-child(1) { transition-delay: 0.1s; }
.fade-in-up:nth-child(2) { transition-delay: 0.2s; }
.fade-in-up:nth-child(3) { transition-delay: 0.3s; }
.fade-in-up:nth-child(4) { transition-delay: 0.4s; }
.fade-in-up:nth-child(5) { transition-delay: 0.5s; }
.fade-in-up:nth-child(6) { transition-delay: 0.6s; }

/* ==========================================================================
   Sponsors Section
   ========================================================================== */

.sponsor-logo {
  filter: grayscale(100%);
  opacity: 0.6;
  transition: var(--transition);
}

.sponsor-logo:hover {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
}

/* ==========================================================================
   Footer
   ========================================================================== */

.footer-link {
  color: rgba(255, 255, 255, 0.8);
  transition: color 0.3s ease;
}

.footer-link:hover {
  color: var(--white);
}

/* Social Icons */
.social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: var(--white);
  transition: var(--transition);
}

.social-icon:hover {
  background: var(--white);
  color: var(--primary-blue);
  transform: translateY(-3px);
}

/* ==========================================================================
   Responsive Utilities
   ========================================================================== */

@media (max-width: 768px) {
  .hide-mobile { display: none !important; }
  
  .info-card,
  .topic-card {
    padding: 30px 20px;
  }
}

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

/* ==========================================================================
   Performance Optimizations
   ========================================================================== */

/* GPU Acceleration for animations */
.elementor-button,
.info-card,
.topic-card {
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Reduce motion for users with motion sensitivity */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


.active-tab .elementor-button {
  background: linear-gradient(135deg, #00af5f, #3DBED9) !important;
  color: white !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0, 154, 77, 0.3) !important;
}

.schedule-card .elementor-icon-list-icon{
    color: #ffffff !important;
    background: transparent !important;
}

.schedule-card .elementor-icon-list-icon svg,
.schedule-card .elementor-icon-list-icon svg *{
    fill: none !important;
    stroke: currentColor !important;
}

.elementor-widget-icon .elementor-icon{
    color: var(--e-global-color-primary);
}

.elementor-widget-icon .elementor-icon svg,
.elementor-widget-icon .elementor-icon svg *{
    stroke: currentColor !important;
    fill: none !important;
}


.timeline-container {
  position: relative;
}

.timeline-container::before {
  content: '';
  position: absolute;
  left: 31px;
  top: 100%;
  margin-top: 0px;
  width: 2px !important;
  height: 60px;
  background: linear-gradient(180deg, #99dfbf, #a3e3f3, #99dfbf) !important;
}

.timeline-container::before {
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}/* End custom CSS */