/* ========================================================= GINKGO WEBSITE STYLES Simple Code Technologies ========================================================= */
/* ========================================================= DESIGN VARIABLES ========================================================= */
:root {
   /* Brand */
   --color-primary: #4CAF50;
   --color-primary-light: #81C784;
   --color-primary-dark: #3FA344;
   /* Text */
   --color-text: #6B6B6B;
   --color-text-muted: #6B6B6B;
   --color-text-notes: #9ca3af;
   /* Background */
   --color-bg: #F5F6F8;
   --color-surface: #FFFFFF;
   /* Borders */
   --color-border: #E5E5E5;
   /* Radius */
   --radius-sm: 6px;
   --radius-md: 10px;
   --radius-lg: 16px;
   /* Shadows */
   --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.05);
   --shadow-md: 0 12px 30px rgba(0, 0, 0, 0.08);
   --shadow-lg: 0 25px 60px rgba(0, 0, 0, 0.15);
   /* Layout */
   --container-width: 1200px;
   /* Header */
   --header-height: 70px;
}

/* ========================================================= GLOBAL RESET ========================================================= */
@font-face {
   font-family: 'Lato';
   src: url('../fonts/Lato/Lato-Light.ttf') format('truetype');
   font-weight: normal;
   font-style: normal;
}

* {
   box-sizing: border-box;
}

html {
   scroll-behavior: smooth;
}

body {
   margin: 0;
   font-family: 'Inter', 'Lato', system-ui, -apple-system, sans-serif;
   background: var(--color-bg);
   color: var(--color-text);
}

a {
   text-decoration: none;
   color: inherit;
}

img {
   max-width: 100%;
   display: block;
}

/* ========================================================= LAYOUT CONTAINER ========================================================= */
.container {
   max-width: var(--container-width);
   margin: auto;
   padding-left: 20px;
   padding-right: 20px;
}

/* ========================================================= BUTTONS ========================================================= */
.btn-primary {
   background: var(--color-primary);
   color: white;
   padding: 10px 20px;
   border-radius: var(--radius-md);
   font-weight: 600;
   transition: 0.2s;
   white-space: nowrap;
}

.btn-primary:hover {
   background: var(--color-primary-dark);
}

.btn-outline {
   border: 2px solid var(--color-primary);
   color: var(--color-primary);
   padding: 10px 22px;
   border-radius: var(--radius-md);
   font-weight: 500;
}

.btn-outline:hover {
   background: var(--color-primary);
   color: white;
}

/* ========================================================= HEADER WRAPPER Floating SaaS style header ========================================================= */
.header {
   position: fixed;
   top: 20px;
   left: 0;
   width: 100%;
   display: flex;
   justify-content: center;
   z-index: 100;
}

/* ========================================================= HEADER CONTAINER ========================================================= */
.header-container {
   width: 100%;
   max-width: var(--container-width);
   padding-left: 20px;
   padding-right: 20px;
}

/* ========================================================= HEADER CARD ========================================================= */
.header-inner {
   height: var(--header-height);
   background: var(--color-surface);
   border-radius: var(--radius-lg);
   box-shadow: var(--shadow-md);
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding-left: 24px;
   padding-right: 24px;
   flex-wrap: nowrap;
   gap:10px;
}

/* ========================================================= LOGO ========================================================= */
.logo {
   display: flex;
   align-items: center;
   gap: 10px;
   font-weight:
      600;
   font-size: 20px;
   color: var(--color-primary);
}

.logo img {
   height: 40px;
}

/* ========================================================= NAVIGATION MENU ========================================================= */
.nav-menu {
   display: flex;
   align-items: center;
   gap: 20px;
   flex: 1;
   justify-content: center;
}

.nav-link {
   font-size: 12px;
   font-weight: bold;
   color: var(--color-text-muted);
   text-decoration: none;
   padding: 20px 0px;
   margin: 0px 10px;
   display: inline-block;
   position: relative;
   text-transform: uppercase;
   opacity: 1;
   transition: all 0.3s ease-in-out;
}

.nav-link:hover {
   color: var(--color-primary);
}

.nav-link-ltr.active {
   color: var(--color-primary);
}

.nav-link::before {
   transition: 300ms ease-in-out;
   height: 5px;
   content: "";
   position: absolute;
   background-color: var(--color-primary-dark);
}

.nav-link-ltr.active::before {
   transition: 300ms ease-in-out;
   height: 5px;
   content: "";
   position: absolute;
   background-color: var(--color-primary-dark);
   width:100%;
}

.nav-link-ltr::before {
   width: 0%;
   bottom: 10px;
}

.nav-link-ltr:hover::before {
   width: 100%;
}

/* ========================================================= HEADER ACTIONS ========================================================= */
.header-actions {
   display: flex;
   align-items: center;
   gap: 12px;
   flex-shrink: 0;
}

/* ========================================================= MOBILE MENU BUTTON ========================================================= */
.menu-toggle {
   display: none;
   font-size: 24px;
   cursor: pointer;
   color: var(--color-primary);
}

/* ========================================================= MOBILE MENU PANEL ========================================================= */
.mobile-menu {
   position: fixed;
   top: 0;
   right: -320px;
   width: 300px;
   height: 100%;
   background: white;
   padding: 30px;
   box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15);
   display: flex;
   flex-direction: column;
   gap: 20px;
   transition: 0.35s;
   z-index: 200;
}

.mobile-menu.open {
   right: 0;
}

.mobile-menu-header {
   display: flex;
   justify-content: space-between;
   font-weight: 600;
   color: var(--color-primary);
}

.mobile-menu-header img {
   height: 40px;
}

.mobile-menu .btn-primary {
   margin-top: 20px;
   text-align: center;
}

.mobile-close {
   background-color: #f44336;
   color: white;
   border-radius: 50%;
   width: 25px;
   height: 25px;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   font-size: 14px;
   line-height: 1;
   border: none;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
   margin: 10px;
}

/* HERO */

.hero {
   min-height: 100vh;
   padding-top: 140px;
   display: flex;
   align-items: center;
   background: linear-gradient(120deg, #f7fff7, #ecffec);
   position: relative;
   overflow: hidden;
}

.hero-bg {
   position: absolute;
   width: 700px;
   height: 700px;
   background: radial-gradient(circle, rgba(76, 175, 80, .25), transparent 70%);
   top: -150px;
   right: -150px;
   filter: blur(80px);
   animation: heroGlow 8s ease-in-out infinite;
}

@keyframes heroGlow {
   0% {
      transform: scale(1)
   }

   50% {
      transform: scale(1.2)
   }

   100% {
      transform: scale(1)
   }
}

.hero-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 80px;
   align-items: center;
   position: relative;
   z-index: 2;
}

.hero-text h1 {
   font-size: 60px;
   line-height: 1.1;
   margin-bottom: 20px;
}

.hero-text span {
   color: var(--color-primary);
}

.hero-text p {
   font-size: 18px;
   color: var(--color-text-muted);
   max-width: 520px;
}

.hero-actions {
   margin-top: 35px;
   display: flex;
   gap: 20px;
}

.hero-glass {
   background: rgba(255, 255, 255, 0.6);
   backdrop-filter: blur(15px);
   border-radius: 20px;
   padding: 40px;
   box-shadow: 0 30px 80px rgba(0, 0, 0, .15);
}

.hero-visual img {
   width: 100%;
   max-width: 500px;
   filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .25));
   animation: heroFloat 6s ease-in-out infinite;
}

@keyframes heroFloat {
   0% {
      transform: translateY(0)
   }

   50% {
      transform: translateY(-12px)
   }

   100% {
      transform: translateY(0)
   }
}

.hero-offer {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.6;
    color: #6b7280;
}

.hero-offer .highlight {
    color: #16a34a;
    font-size: 14px;
    background: rgba(22, 163, 74, 0.1);
    padding: 4px 8px;
    border-radius: 6px;
}

.hero-offer .no-highlight {
    color: #16a34a;
    font-size: 13px;
    padding: 4px 8px;
    border-radius: 6px;
}

.hero-trust {
    margin-top: 20px;
    display: flex;
    gap: 20px;
    font-size: 14px;
    margin-left: 12px;
}

/* FEATURES */

.features {
   padding: 100px 0;
   background: white;
}

.section-title {
   text-align: center;
   font-size: 34px;
   margin-bottom: 60px;
}

.features-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 30px;
}

.feature-card {
   background: white;
   padding: 30px;
   border-radius: var(--radius-lg);
   box-shadow: var(--shadow-sm);
   text-align: center;
   transition: .3s;
}

.feature-card:hover {
   transform: translateY(-8px);
   box-shadow: var(--shadow-md);
}

.feature-icon {
   font-size: 36px;
   margin-bottom: 15px;
}


/* PRODUCT */

.product {
   padding: 100px 0;
   background: #f7fff7;
}

.product-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 80px;
   align-items: center;
}

.product-image img {
   width: 100%;
   border-radius: var(--radius-lg);
   box-shadow: var(--shadow-md);
}

.product-list {
   list-style-type: none;
   margin-top: 20px;
   padding-left: 20px;
}

.product-list li {
   margin-bottom: 10px;
   position: relative;
   padding-left: 24px;
   text-align: left;
}

.product-list li::before {
    content: "✔";
    position: absolute;
    left: 0;
    font-weight: bold;
}


/* HOW */
.how {
   padding: 100px 0;
   background: var(--color-primary);
   color: white;
}

.white {
   color: white;
}

.steps {
   display: flex;
   justify-content: center;
   gap: 80px;
   margin-top: 50px;
}

.step {
   text-align: center;
   max-width: 225px;
}

.step-number {
   width: 50px;
   height: 50px;
   background: white;
   color: var(--color-primary);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: bold;
   margin: auto;
   margin-bottom: 15px;
}

/* PRICING */
.pricing {
   padding: 100px 0;
   background: white;
}

.pricing-title {
   text-align: center;
   font-size: 36px;
   font-weight: 700;
   margin-bottom: 10px;
}

.pricing-title span {
   color: var(--color-primary);
}

.pricing-subtitle {
   text-align: center;
   max-width: 650px;
   margin: 0 auto 12px auto;
   font-size: 16px;
   color: var(--color-text-muted);
}

.pricing-note {
   text-align: center;
   margin-bottom: 50px;
   font-size: 14px;
   color: var(--color-text-notes);
}

.pricing-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
}

.pricing-card {
   background: #f5fff5;
   padding: 40px;
   border-radius: var(--radius-lg);
   box-shadow: var(--shadow-sm);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   min-height: 420px;
   text-align: center;
   transition: 0.3s;
   border: 1px solid transparent; /* NEW */
}


.pricing-card:hover {
   transform: translateY(-8px);
   box-shadow: var(--shadow-md);
}

.pricing-card.highlight {
    border: 2px solid var(--color-primary);
    transform: scale(1.05);
    background: #ffffff;
}

.pricing-card.highlight:hover {
   transform: translateY(-8px);
   box-shadow: var(--shadow-md);
}

.pricing-top h3 {
   font-size: 20px;
   margin-bottom: 10px;
}

.price {
    font-size: 34px;
    font-weight: 700;
    margin: 10px 0;
    color: #111;
}

.price span {
    font-size: 14px;
    color: var(--color-text-muted);
    margin-left: 4px;
}

.device-count {
   font-size: 18px;
   font-weight: 600;
   color: #2e7d32;
   margin: 15px 0;
}

.features-note {
   font-size: 14px;
   color: #777;
   margin-bottom: 20px;
}


/* DOWNLOAD */
.download {
   padding: 100px 0;
   background: #f5fff5;
}

.download-box {
   text-align: center;
   background: #f5fff5;
   padding: 60px;
   border-radius: var(--radius-lg);
}

.download-actions {
   margin-top: 20px;
   display: flex;
   gap: 20px;
   justify-content: center;
}

/* Final CTA */
.final-cta {
   padding: 100px 20px;
   text-align: center;
   background: white;
}

.final-cta-actions {
   max-width: var(--container-width);
   margin: auto;
   padding: 60px 40px;
   background: linear-gradient(135deg, #4CAF50, #3FA344);
   border-radius: 20px;
   color: white;
}

.final-cta h2 {
   font-size: 34px;
   font-weight: 700;
   margin-bottom: 10px;
}

.final-cta h2 span {
   color: #d1fae5;
}

.cta-subtitle {
   font-size: 16px;
   opacity: 0.9;
   margin-bottom: 30px;
}

.cta-buttons {
   display: flex;
   justify-content: center;
   gap: 16px;
   flex-wrap: wrap;
}

.btn-outline-light {
   border: 2px solid white;
   color: white;
   padding: 10px 22px;
   border-radius: var(--radius-md);
   font-weight: 500;
}

.btn-outline-light:hover {
   background: white;
   color: var(--color-primary);
}

.cta-note {
   margin-top: 20px;
   font-size: 13px;
   opacity: 0.85;
}

.final-cta-btn-outline {
   border: 2px solid white;
   color: var(--color-primary);
   padding: 10px 22px;
   border-radius: var(--radius-md);
   font-weight: 500;
   background-color: #f5fff5;
}

.cta-contact-card {
   margin-top: 30px;
   background: rgba(255, 255, 255, 0.12);
   padding: 18px 22px;
   border-radius: 12px;
   display: inline-block;
   backdrop-filter: blur(8px);
}

.cta-contact-title {
   font-size: 13px;
   opacity: 0.9;
}

.cta-contact-email {
   font-size: 16px;
   font-weight: 600;
   margin: 6px 0;
   letter-spacing: 0.3px;
}

.cta-contact-note {
   font-size: 12px;
   opacity: 0.85;
}

.cta-contact-email {
    cursor: pointer;
}

/* FOOTER */
.footer {
   background: var(--color-primary);
   display: flex;
   align-items: center;
   color: white;
   padding: 10px;
}

.footer-inner {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.footer-left {
   display: flex;
   align-items: center;
   gap: 10px;
}

.footer-left img {
   height: 48px;
}

.footer-right {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 14px;
}

.footer-links {
    display: flex;
    gap: 15px;
}

.footer-links a {
    color: white;
    font-size: 13px;
    opacity: 0.9;
}

.footer-links a:hover {
    text-decoration: underline;
}

/* ANIMATIONS */
.fade-up {
   opacity: 0;
   transform: translateY(40px);
   transition: all .8s ease;
}

.fade-up.show {
   opacity: 1;
   transform: translateY(0);
}

.register-page {
	padding-top: 140px;
	padding-bottom: 80px;
	background: #f4f6f9;
   min-height: calc(100vh - 68px);
}

.register-card {
   width:100%;
	max-width: 760px;
	margin: auto;
	background: white;
	padding: 40px;
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}

.title {
	text-align: center;
	font-size: 30px;
	margin-bottom: 6px;
}

.subtitle {
	text-align: center;
	color: #6b7280;
	margin-bottom: 30px;
}

.form-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

.form-grid1 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.form-group label {
	font-weight: 600;
	display: block;
	margin-bottom: 6px;
}

.form-control {
	width: 100%;
	padding: 12px;
	border-radius: 8px;
	border: 1px solid #ddd;
}

.form-control:focus {
    outline: none;
    border-color: inherit;
    box-shadow: none;
    border: 1px solid var(--color-primary) !important;
}

.password-meter {
	height: 6px;
	background: #eee;
	border-radius: 6px;
	margin: 10px 0 10px 0;
	overflow: hidden;
}

#strengthBar {
	height: 6px;
	width: 0%;
	background: red;
	transition: 0.3s;
   margin-bottom:10px;
}

.register-btn-area {
	text-align: center;
	margin-top: 30px;
}

.btn-register {
	background: #22c55e;
	color: white;
	padding: 12px 30px;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	cursor: pointer;
}

/* Select2 styling */

.select2-container .select2-selection--single {
    height: 50px !important;
    padding: 8px !important;
    border-radius: 8px !important;
    width:100% !important;
    max-width: 100%;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px !important;
}

.select2-container--default .select2-selection--single {
    border: 1px solid #ddd !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 8px !important;
}

.select2-dropdown{
   border: 1px solid #ddd !important;
   border-radius: 8px !important;
}

.select2-container--default .select2-selection--single:focus {
    outline: none;
    border-color: inherit;
    box-shadow: none;
    border: 1px solid var(--color-primary) !important;
}

.select2-container--default .select2-search__field:focus {
    outline: none;
    border-color: inherit;
    box-shadow: none;
    border: 1px solid var(--color-primary) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-primary) !important; 
    color: #ffffff !important;
    border-radius: 8px !important;
    margin: 0 5px !important;
}

.select2-results__option--selected {
    background-color:var(--color-primary-light) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    margin: 0 5px !important;
}

/* error banner */
.form-error{
    background:#fee2e2;
    color:#b91c1c;
    border:1px solid #fecaca;
    padding:10px 14px;
    border-radius:8px;
    margin-bottom:18px;
    font-size:14px;
}

/* temporary field highlight */
.field-error{
    border-color:#ef4444 !important;
    box-shadow:0 0 0 3px rgba(239,68,68,0.15);
}

.redirect-note
{
    margin-top:20px;
    font-size:13px;
    color:var(--color-text-notes);
    text-align: center;
}

.small-note
{
    font-size:13px;
    color:var(--color-text-notes);;
}

/* LEGAL PAGES */
.legal-page {
    padding-top: 140px;
    padding-bottom: 80px;
    background: #ffffff;
}

.legal-page h1 {
    font-size: 34px;
    margin-bottom: 10px;
}

.legal-updated {
    font-size: 13px;
    color: var(--color-text-notes);
    margin-bottom: 30px;
}

.legal-page h3 {
    margin-top: 25px;
    margin-bottom: 8px;
    font-size: 18px;
}

.legal-page p {
    line-height: 1.6;
    color: var(--color-text);
}

/* ========================================================= RESPONSIVE ========================================================= */
@media (max-width: 900px) {
   .nav-menu {
      display: none;
   }

   .header-actions {
      display: none;
   }

   .menu-toggle {
      display: block;
   }

   .hero-grid,
   .product-grid {
      grid-template-columns: 1fr;
      text-align: center;
   }

   .hero-text p {
      margin: auto;
   }

   .hero-actions{
      justify-content: center;
   }

   .hero-trust{
      justify-content: center;
   }

   .features-grid {
      grid-template-columns: 1fr 1fr;
   }

   .feature-icon {
      justify-content: center;
      display: flex;
   }

   .steps {
      display: grid;
      flex-direction: column;
      gap: 40px;
   }
   .pricing-grid {
      grid-template-columns: 1fr;
    }

    .pricing-card.highlight {
      transform: scale(1); 
    }
   
    .final-cta h2 {
      font-size: 26px;
   }

   .final-cta-actions {
      padding: 40px 20px;
   }
}

@media(max-width:600px) {

   .features-grid {
      grid-template-columns: 1fr;
   }

   .hero-text h1 {
      font-size: 38px;
   }
   
   .form-grid {
		grid-template-columns: 1fr;
	}

   .form-grid1 {
      grid-template-columns: 1fr;
   }

   .footer-inner {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .footer-right {
        flex-direction: column;
        gap: 8px;
    }
}