/*
Theme Name: Iteck Child
Author: ThemesCamp
Author URI:  http://themeforest.net/user/themescamp
Theme URI: https://themeforest.net/item/iteck-software-technology-wordpress-theme/38682639
Template: iteck
Description: This is child theme for Iteck Theme.
Version: 1.1.1
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: iteck-child
Tags: one-column, two-columns, right-sidebar,custom-colors,featured-images
*/

/*
 * Twoma Solutions design system
 * Keep visual overrides in the child theme so parent-theme updates remain safe.
 */
:root {
    --twoma-purple: #6941c6;
    --twoma-purple-dark: #4f2baa;
    --twoma-violet: #9b5cff;
    --twoma-pink: #f26c9b;
    --twoma-ink: #121127;
    --twoma-muted: #667085;
    --twoma-surface: #f7f7fc;
    --twoma-border: rgba(105, 65, 198, 0.12);
    --twoma-shadow: 0 22px 60px rgba(47, 35, 80, 0.12);
    --twoma-radius: 24px;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    cursor: auto !important;
    overflow-x: hidden;
    color: var(--twoma-muted);
    font-family: "Poppins", "Cairo", sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body a,
body button,
body input,
body textarea,
body select,
body [role="button"] {
    cursor: pointer !important;
}

body p {
    line-height: 1.85;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    color: var(--twoma-ink);
    letter-spacing: -0.025em;
}

::selection {
    color: #fff;
    background: var(--twoma-purple);
}

/* Accessible keyboard navigation */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid rgba(105, 65, 198, 0.35);
    outline-offset: 3px;
}

/* Modern header */
.hfe-site-logo-container img,
.elementor-widget-theme-site-logo img,
.elementor-widget-site-logo img {
    transition: transform 0.25s ease;
}

.hfe-site-logo-container:hover img,
.elementor-widget-theme-site-logo:hover img,
.elementor-widget-site-logo:hover img {
    transform: scale(1.04);
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu > li > a,
.elementor-nav-menu--main .elementor-item {
    position: relative;
    transition: color 0.25s ease, background-color 0.25s ease;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu > li > a::after,
.elementor-nav-menu--main .elementor-item::after {
    border-radius: 20px;
}

header .elementor-section,
header .e-con,
.hfe-site-header .elementor-section,
.hfe-site-header .e-con {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Buttons */
.elementor-button,
.iteck-button,
button:not(.slick-arrow):not(.swiper-button-prev):not(.swiper-button-next),
input[type="submit"] {
    border-radius: 999px !important;
    font-weight: 600;
    letter-spacing: -0.01em;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.elementor-button:hover,
.iteck-button:hover,
input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(105, 65, 198, 0.25);
}

.elementor-button:active,
.iteck-button:active,
input[type="submit"]:active {
    transform: translateY(0);
}

/* Homepage hero */
.home .elementor-top-section:first-of-type,
.home main .e-parent:first-child {
    position: relative;
    isolation: isolate;
}

.home .elementor-top-section:first-of-type::after,
.home main .e-parent:first-child::after {
    position: absolute;
    z-index: -1;
    top: 4%;
    left: 48%;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    content: "";
    pointer-events: none;
    background: radial-gradient(circle, rgba(155, 92, 255, 0.13), transparent 68%);
    filter: blur(8px);
}

.home h1 {
    line-height: 1.12 !important;
}

.home .elementor-widget-image img {
    transition: transform 0.45s ease, filter 0.45s ease;
}

.home .elementor-widget-image:hover img {
    transform: translateY(-5px);
    filter: drop-shadow(0 18px 25px rgba(67, 46, 125, 0.13));
}

/* Cards and content surfaces */
.elementor-widget-icon-box .elementor-widget-container,
.elementor-widget-image-box .elementor-widget-container,
.elementor-widget-counter .elementor-widget-container,
.elementor-widget-testimonial .elementor-widget-container,
.elementor-widget-price-table .elementor-widget-container {
    border: 1px solid var(--twoma-border);
    border-radius: var(--twoma-radius);
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.elementor-widget-icon-box .elementor-widget-container:hover,
.elementor-widget-image-box .elementor-widget-container:hover,
.elementor-widget-counter .elementor-widget-container:hover,
.elementor-widget-testimonial .elementor-widget-container:hover,
.elementor-widget-price-table .elementor-widget-container:hover {
    transform: translateY(-6px);
    border-color: rgba(105, 65, 198, 0.28);
    box-shadow: var(--twoma-shadow);
}

/* Forms */
.wpcf7 input:not([type="submit"]),
.wpcf7 textarea,
.wpcf7 select,
.elementor-field {
    min-height: 52px;
    padding: 13px 18px !important;
    border: 1px solid #e4e3ee !important;
    border-radius: 14px !important;
    background: #fff;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wpcf7 textarea {
    min-height: 150px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus,
.elementor-field:focus {
    border-color: var(--twoma-purple) !important;
    box-shadow: 0 0 0 4px rgba(105, 65, 198, 0.1) !important;
}

/* Cleaner client-logo presentation */
.home .elementor-image-carousel img,
.home .swiper-slide-image {
    opacity: 0.62;
    filter: grayscale(1);
    transition: opacity 0.25s ease, filter 0.25s ease, transform 0.25s ease;
}

.home .elementor-image-carousel img:hover,
.home .swiper-slide-image:hover {
    opacity: 1;
    filter: grayscale(0);
    transform: scale(1.04);
}

img,
svg,
video,
iframe {
    max-width: 100%;
}

@media (max-width: 1024px) {
    :root {
        --twoma-radius: 20px;
    }

    .home h1 {
        font-size: clamp(38px, 6vw, 58px) !important;
    }
}

@media (max-width: 767px) {
    body p {
        line-height: 1.75;
    }

    .home h1 {
        font-size: clamp(34px, 10vw, 46px) !important;
        line-height: 1.16 !important;
    }

    .home .elementor-top-section:first-of-type,
    .home main .e-parent:first-child {
        text-align: center;
    }

    .elementor-button {
        min-height: 48px;
        padding: 14px 22px !important;
    }

    .hfe-nav-menu__toggle {
        border-radius: 12px;
    }

    .hfe-nav-menu__layout-vertical {
        overflow: hidden;
        margin-top: 12px;
        border: 1px solid var(--twoma-border);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: var(--twoma-shadow);
    }

    .hfe-nav-menu__layout-vertical .hfe-nav-menu li a {
        padding: 14px 18px !important;
    }

    .bnav_bottom_nav_wrapper {
        border-top: 1px solid var(--twoma-border) !important;
        box-shadow: 0 -8px 30px rgba(35, 24, 66, 0.1);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

