/* Reset */
body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #0b0d24;
}

/* Navbar */
.custom-navbar {
    background: #080b22;
    padding: 22px 0;
}

/* Logo */
.navbar-brand {
    font-size: 2rem;
    font-weight: 700;
    color: #2f7dff !important;
}

.navbar-brand i {
    color: #fff;
    font-size: 2.3rem;
    margin-right: 10px;
}

/* Navigation Links */
.navbar-nav .nav-link {
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    margin: 0 14px;
    transition: 0.3s;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: #2f7dff;
}

/* Contact Button */
.contact-btn {
    background: #2f7dff;
    color: #fff;
    padding: 14px 35px;
    border-radius: 10px;
    font-weight: 600;
    transition: 0.3s;
    border-radius: 50px;
}

.contact-btn:hover {
    background: #1f67df;
    color: #fff;
}

/* Responsive */
@media (max-width: 991px) {

    .navbar-nav {
        margin: 20px 0;
        text-align: center;
    }

    .contact-btn {
        width: 100%;
    }

}

#logo-text{
    color: #ffffff;
}

.services-section{
    background:#f8fbff;
}

.section-tag{
    color:#4f73ff;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.services-section h2{
    font-weight:700;
    color:#101828;
    margin-top:10px;
}

.section-text{
    max-width:650px;
    margin:15px auto 0;
    color:#667085;
    font-size:17px;
}

.service-card{
    background:#fff;
    border-radius:20px;
    padding:35px 25px;
    border:1px solid #edf1f7;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    transition:.35s;
}

.service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.icon-box{
    width:60px;
    height:60px;
    margin:0 auto 25px;
    background:#3b6cff;
    border-radius:16px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-size:24px;
    box-shadow:0 12px 25px rgba(59,108,255,.35);
}

.service-card h4{
    font-size:24px;
    font-weight:700;
    margin-bottom:15px;
    color:#101828;
}

.service-card p{
    color:#667085;
    line-height:1.8;
    margin:0;
}

.services-section {
    background: #f8fbff;
}

.section-tag {
    color: #4f73ff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.section-text {
    max-width: 650px;
    margin: 15px auto 0;
    color: #667085;
}

.service-card {
    background: #fff;
    border-radius: 20px;
    padding: 35px 25px;
    border: 1px solid #edf1f7;
    box-shadow: 0 10px 30px rgba(0,0,0,.05);
    transition: .3s ease;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(0,0,0,.12);
}

.service-image {
    object-fit: contain;
    display: block;
    margin: 0 auto 25px;
}

.service-card h4 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 15px;
}

.service-card p {
    color: #667085;
    margin-bottom: 0;
    line-height: 1.7;
}

/* ===========================
   Contact Form 7
=========================== */

.wpcf7 {
    max-width: 100%;
}

.wpcf7 form p {
    margin-bottom: 22px;
}

.wpcf7 label {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 8px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
    width: 100%;
    padding: 16px 20px;
    margin-top: 8px;
    border: 1px solid #dbe3ef;
    border-radius: 14px;
    background: #ffffff;
    font-size: 16px;
    color: #222;
    transition: all .3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.wpcf7 textarea {
    resize: vertical;
    min-height: 180px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    outline: none;
    border-color: #4f73ff;
    box-shadow: 0 0 0 4px rgba(79,115,255,.15);
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #9aa6b2;
}

/* Submit Button */

.wpcf7-submit {
    width: 100%;
    background: #4f73ff !important;
    color: #fff !important;
    border: none;
    border-radius: 14px;
    padding: 16px 28px;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s ease;
    width: 300px;
}

.wpcf7-submit:hover {
    background: #355df6 !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(79,115,255,.3);
}

.wpcf7-submit:active {
    transform: translateY(0);
}

/* Validation */

.wpcf7-not-valid {
    border-color: #ef4444 !important;
}

.wpcf7-not-valid-tip {
    margin-top: 8px;
    font-size: 14px;
    color: #ef4444;
}

/* Success Message */

.wpcf7-response-output {
    margin-top: 20px !important;
    border-radius: 12px;
    padding: 15px 18px !important;
    font-weight: 500;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: none;
    background: #e8f8ee;
    color: #198754;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
    border: none;
    background: #fdecec;
    color: #dc3545;
}

/* Spinner */

.wpcf7-spinner {
    margin-left: 15px;
}

/* Mobile */

@media (max-width: 768px) {

    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 textarea {
        padding: 14px 16px;
    }

    .wpcf7-submit {
        width: 100%;
    }

}

.wpcf7 label {
    color: #ffffff;
    margin-bottom: unset;
}

#kontaktvormi-slogan{
    color: #ffffff;
    margin-top: 40px;
}

.footer-cta{
    background: linear-gradient(135deg,#1328b7 0%,#182fcb 50%,#1f37d8 100%);
    padding:70px 0;
    position:relative;
    overflow:hidden;
}

/* Decorative dots */

.footer-cta::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:24px 24px;
    opacity:.35;
    pointer-events:none;
}

.footer-cta .container{
    position:relative;
    z-index:2;
}

.cta-title{
    color:#fff;
    font-size:34px;
    font-weight:700;
    line-height:1.25;
    margin:0;
}

.cta-text{
    color:rgba(255,255,255,.85);
    font-size:20px;
    line-height:1.8;
    max-width:380px;
}

.cta-btn{
    display:inline-flex;
    align-items:center;
    gap:14px;
    background:#fff;
    color:#162357;
    text-decoration:none;
    padding:18px 36px;
    border-radius:14px;
    font-weight:600;
    font-size:18px;
    transition:.3s ease;
    box-shadow:0 15px 35px rgba(0,0,0,.18);
}

.cta-btn:hover{
    transform:translateY(-3px);
    color:#162357;
    box-shadow:0 20px 45px rgba(0,0,0,.28);
}

.cta-arrow{
    font-size:26px;
    line-height:1;
    transition:.3s;
}

.cta-btn:hover .cta-arrow{
    transform:translateX(6px);
}

@media (max-width:991px){

    .footer-cta{
        text-align:center;
    }

    .cta-title{
        font-size:34px;
    }

    .cta-text{
        max-width:100%;
        margin:auto;
    }

    .text-lg-end{
        text-align:center !important;
    }

    .cta-btn{
        margin-top:10px;
    }

}

.service-card h4 a{
    color: inherit;
    text-decoration: none;
    display: inline-block;
    transition: color .3s ease;
}

.service-card h4 a:hover{
    color: #4f73ff; /* Your accent color */
}

.wpcf7-form .wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 20px;
    margin: 15px 0 25px;
}

.wpcf7-form .wpcf7-list-item {
    margin: 0;
}

.wpcf7-form .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: #222;
}

.wpcf7-form input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: #617347; /* Hedera green */
    cursor: pointer;
}

/* Labels (Sinu nimi, Sinu e-post, etc.) */
.wpcf7 label {
    color: #fff;
}

/* Checkbox group heading */
.wpcf7 .checkbox-title {
    color: #fff;
    font-weight: 600;
    display: block;
    margin-bottom: 15px;
}

/* Checkbox text */
.wpcf7-list-item-label {
    color: #fff;
}

/* Optional: make required asterisk white */
.wpcf7-form .required {
    color: #fff;
}

.wpcf7 form p {
    margin-bottom: 22px;
    color: white;
}

.wpcf7 textarea
 {
    resize: vertical;
    height: 100px;
}

@media (min-width: 992px) {

    /* Your desktop-only CSS here */

    #submit-button-wrapper{
        margin: 0 500px;
    }

}

.service-card{
    padding:30px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 35px rgba(0,0,0,.06);
    transition:.3s;
}

.service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.service-card img{
    border-radius:12px;
}

.service-card h4{
    margin-top:20px;
    margin-bottom:12px;
}

.service-card p{
    flex-grow:1;
    color:#6c757d;
    margin-bottom:0;
}

.btn-portfolio{
    background:#4a6cf7;
    color:#fff;
    padding:10px 22px;
    border-radius:10px;
    font-weight:600;
    transition:.3s;
}

.btn-portfolio:hover{
    background:#3557e6;
    color:#fff;
    transform:translateY(-2px);
}

.contact-form h5{
    color: #fff;
    font-weight: 700;
    margin-bottom: 20px;
}

#pricing{
    background:white !important;
}

.pricing-card{
    position:relative;
    background:#fff;
    border-radius:20px;
    padding:40px 35px;
    text-align:center;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
    transition:.35s;
}

.pricing-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.15);
}

.pricing-card.featured{
    border:2px solid #4A6CF7;
    transform:scale(1.03);
}

.popular-badge{
    position:absolute;
    top:-15px;
    left:50%;
    transform:translateX(-50%);
    background:#4A6CF7;
    color:#fff;
    padding:8px 20px;
    border-radius:30px;
    font-size:13px;
    font-weight:700;
}

.pricing-card h3{
    font-size:30px;
    font-weight:700;
    margin-bottom:8px;
}

.pricing-subtitle{
    color:#777;
    margin-bottom:25px;
}

.price{
    font-size:20px;
    color:#555;
    margin-bottom:30px;
}

.price span{
    display:block;
    font-size:40px;
    font-weight:700;
    color:#4A6CF7;
    margin-top:5px;
}

.pricing-list{
    list-style:none;
    padding:0;
    margin:0 0 35px;
}

.pricing-list li{
    padding:12px 0;
    border-bottom:1px solid #eee;
}

.pricing-list li:last-child{
    border-bottom:none;
}

.btn-pricing{
    background:#4A6CF7;
    color:#fff;
    padding:14px 34px;
    border-radius:12px;
    font-weight:600;
    transition:.3s;
}

.btn-pricing:hover{
    background:#3557e6;
    color:#fff;
}

.section-tag{
    display:inline-block;
    background:#eef2ff;
    color:#4A6CF7;
    padding:6px 18px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    margin-bottom:15px;
}

.pricing-list li{
    padding: unset !important;
}

.price {
    margin-bottom: 0px !important;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    transition: all .3s ease;
}

.custom-navbar {
    padding: 20px 0;
    transition: all .3s ease;
}

header.scrolled {
    box-shadow: 0 5px 20px rgba(0,0,0,.15);
}

header.scrolled .custom-navbar {
    padding: 10px 0;
}

header.scrolled #logo-text {
    font-size: 1.2rem;
}

.comparison{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
}

.comparison-header{
    display:grid;
    grid-template-columns:1fr 1fr;
}

.comparison-col{
    padding:25px;
    text-align:center;
    background:#f7f8fc;
}

.comparison-col.active{
    background:#4f6cf7;
    color:#fff;
}

.comparison-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid #ececec;
}

.comparison-row div{
    padding:22px 30px;
}

.bi-check-circle-fill{
    color:#4f6cf7;
    margin-right:10px;
}

.bi-x-circle-fill{
    color:#dc3545;
    margin-right:10px;
}


#minust.animated-dots-bg {
    position: relative !important;
    overflow: hidden !important;
    background: #ffffff;
}

/* Full section dots layer */
#minust .floating-dots-container {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    pointer-events: none;
    z-index: 0;
}

/* Individual dots */
#minust .floating-dot {
    position: absolute !important;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #007bff;
    opacity: 0.4;
    pointer-events: none;
}

/* Keep your actual content above the dots */
#minust > *:not(.floating-dots-container) {
    position: relative;
    z-index: 1;
}

/* =========================================
   DEVELOPER HERO
========================================= */

.dev-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;

    background:#0c0f2b;

    color: #fff;
    overflow: hidden;
}


/* =========================================
   CONTAINER
========================================= */

.dev-hero-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 130px 30px 35px;

    position: relative;
    z-index: 2;
}


/* =========================================
   MAIN CONTENT
========================================= */

.dev-hero-content {
    max-width: 780px;
}


/* Small blue heading */

.dev-eyebrow {
    color: #008cff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 18px;
}


/* Main heading */

.dev-hero h1 {
    margin: 0;
    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.02;
    font-weight: 750;
    letter-spacing: -2px;
}

.dev-hero h1 span {
    color: #087ff5;
}


/* Description */

.dev-description {
    max-width: 620px;

    margin: 25px 0 30px;

    color: rgba(255, 255, 255, 0.86);

    font-size: 17px;
    line-height: 1.6;
}


/* =========================================
   BUTTONS
========================================= */

.dev-buttons {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

.dev-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;
    padding: 0 25px;

    border-radius: 30px;

    text-decoration: none;

    font-size: 15px;
    font-weight: 700;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


/* Blue button */

.dev-btn-primary {
    color: #fff;
    background: #087ff5;

    box-shadow: 0 8px 30px rgba(0, 127, 255, 0.25);
}

.dev-btn-primary span {
    margin-left: 10px;
    font-size: 20px;
}

.dev-btn-primary:hover {
    color: #fff;
    background: #1490ff;

    transform: translateY(-2px);

    box-shadow: 0 12px 35px rgba(0, 127, 255, 0.4);
}


/* Outline button */

.dev-btn-outline {
    color: #fff;

    border: 1px solid #087ff5;

    background: rgba(0, 0, 0, 0.1);
}

.dev-btn-outline:hover {
    color: #fff;

    background: rgba(8, 127, 245, 0.15);

    transform: translateY(-2px);
}


/* =========================================
   BENEFITS
========================================= */

.dev-benefits {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 35px;

    margin-top: 70px;
}


/* Individual benefit */

.dev-benefit {
    display: flex;
    align-items: flex-start;

    gap: 12px;
}


/* Icon */

.dev-benefit-icon {
    flex-shrink: 0;

    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #008cff;

    font-size: 28px;
    line-height: 1;
}


/* Benefit title */

.dev-benefit strong {
    display: block;

    color: #fff;

    font-size: 14px;
    font-weight: 700;

    margin-bottom: 5px;
}


/* Benefit description */

.dev-benefit small {
    display: block;

    color: rgba(255, 255, 255, 0.65);

    font-size: 12px;
    line-height: 1.4;
}


/* =========================================
   DARK OVERLAY
========================================= */

.dev-hero::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.05),
            rgba(0, 0, 0, 0.15)
        );

    pointer-events: none;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .dev-hero {
        min-height: 620px;

        background-position: center;
    }

    .dev-hero-container {
        padding: 90px 30px 40px;
    }

    .dev-hero-content {
        max-width: 600px;
    }

    .dev-benefits {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
        margin-top: 50px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .dev-hero {
        min-height: auto;
    }

    .dev-hero-container {
        padding: 90px 22px 45px;
    }

    .dev-eyebrow {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .dev-hero h1 {
        font-size: 42px;
        line-height: 1.05;
        letter-spacing: -1.5px;
    }

    .dev-description {
        font-size: 15px;
        line-height: 1.6;
        margin-top: 20px;
    }

    .dev-buttons {
        width: 100%;
    }

    .dev-btn {
        width: 100%;
    }

    .dev-benefits {
        grid-template-columns: 1fr 1fr;

        gap: 25px 15px;

        margin-top: 50px;
    }

    .dev-benefit {
        gap: 8px;
    }

    .dev-benefit-icon {
        width: 25px;
        font-size: 22px;
    }

    .dev-benefit strong {
        font-size: 12px;
    }

    .dev-benefit small {
        font-size: 10px;
    }
}


/* =========================================
   VERY SMALL PHONES
========================================= */

@media (max-width: 400px) {

    .dev-hero h1 {
        font-size: 36px;
    }

    .dev-benefits {
        grid-template-columns: 1fr;
    }
}

#footer-button{
border-radius: 50px;
}

@media (max-width: 767px) {
    .dev-eyebrow {
        margin-top: 40px;
    }
    .dev-hero h1 {
        font-size: 32px;
        padding: 20px 0px;
    }

    .dev-hero-container-second {
        display: none;
    }
}

[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled)
 {
    cursor: pointer;
    border-radius: 50px;
}

@media (min-width: 768px) {
    .dev-hero-container-second {
        position: absolute;
        right: 70px;
    }

    .dev-hero-container-second img {
        width: 550px;
        margin-top: 50px;
    }
}



