/*
Theme Name: Itfirm Child
Theme URI: http://demo.casethemes.net/itfirm/
Author: Case-Themes
Author URI: https://themeforest.net/user/case-themes/portfolio/
Description: Itfirm is a stunning, professional and flexible IT Solutions, IT Business, and Services Company WordPress theme. Itfirm based on in-depth research into IT Solutions, IT Services, IT Business, Consulting, SaaS & Software, Digital Solution, Technical Engineering, Technology, and Services Company, to deliver all needed layouts and blocks.
Version: 1.4.2
License: ThemeForest
License URI: https://themeforest.net/licenses
Template: itfirm
Text Domain: itfirm-child
Tags: agency, business, it services, it solutions, technology, technology service, software, services, app, network solution, startup, technology company, saas, digital
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* SDS visual system
-------------------------------------------------------------- */
:root {
    --sds-navy: #06192c;
    --sds-navy-soft: #0d2b45;
    --sds-red: #c30f24;
    --sds-red-dark: #9e0b1c;
    --sds-cyan: #06a8df;
    --sds-ink: #122033;
    --sds-muted: #66758a;
    --sds-line: #e6ebf1;
    --sds-surface: #f6f9fc;
    --sds-white: #fff;
    --sds-radius: 18px;
    --sds-shadow: 0 18px 50px rgba(8, 30, 52, .11);
}

html {
    scroll-behavior: smooth;
}

body.home {
    color: var(--sds-ink);
    background: var(--sds-white);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.home,
body.home p,
body.home a,
body.home button,
body.home input {
    font-family: "Tajawal", "Saira", Arial, sans-serif;
}

body.home h1,
body.home h2,
body.home h3,
body.home h4 {
    color: var(--sds-ink);
    letter-spacing: -.025em;
}

body.home p {
    color: var(--sds-muted);
    line-height: 1.85;
}

body.home img {
    height: auto;
}

/* Header */
body.home .elementor-element-3f85aa2 {
    position: relative;
    z-index: 50;
}

body.home .elementor-element-3f85aa2 > .elementor-container {
    max-width: 1420px;
}

body.home .ct-header-navigation {
    border: 1px solid rgba(9, 35, 59, .08);
    border-radius: 22px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 40px rgba(5, 24, 43, .13);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

body.home .ct-main-menu > li > a {
    position: relative;
    font-weight: 700;
    letter-spacing: -.01em;
    transition: color .22s ease;
}

body.home .ct-main-menu > li > a::after {
    position: absolute;
    right: 50%;
    bottom: 18px;
    left: 50%;
    height: 3px;
    border-radius: 3px;
    background: var(--sds-red);
    content: "";
    transition: right .22s ease, left .22s ease;
}

body.home .ct-main-menu > li:hover > a::after,
body.home .ct-main-menu > .current-menu-item > a::after {
    right: 18%;
    left: 18%;
}

/* Buttons and calls to action */
body.home .btn,
body.home .elementor-button,
body.home .ct-button-wrapper .btn {
    min-height: 52px;
    padding: 15px 30px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--sds-red), #df2539);
    box-shadow: 0 10px 24px rgba(195, 15, 36, .24);
    font-weight: 800;
    letter-spacing: .01em;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

body.home .btn:hover,
body.home .elementor-button:hover,
body.home .ct-button-wrapper .btn:hover {
    background: linear-gradient(135deg, var(--sds-red-dark), var(--sds-red));
    box-shadow: 0 14px 30px rgba(195, 15, 36, .32);
    transform: translateY(-2px);
}

body.home .elementor-button:focus-visible,
body.home a:focus-visible {
    outline: 3px solid rgba(6, 168, 223, .45);
    outline-offset: 4px;
}

/* Content rhythm */
body.home .elementor-top-section:not(.elementor-element-3f85aa2) {
    overflow: hidden;
}

body.home .elementor-widget-heading .elementor-heading-title {
    line-height: 1.22;
}

body.home .elementor-widget-text-editor {
    line-height: 1.85;
}

/* Service and feature cards */
body.home .ct-fancy-box {
    height: 100%;
    border: 1px solid var(--sds-line);
    border-radius: var(--sds-radius);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 9px 30px rgba(8, 30, 52, .07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.home .ct-fancy-box:hover {
    border-color: rgba(195, 15, 36, .22);
    box-shadow: var(--sds-shadow);
    transform: translateY(-7px);
}

body.home .ct-fancy-box .item--icon {
    transition: transform .25s ease;
}

body.home .ct-fancy-box:hover .item--icon {
    transform: scale(1.06);
}

body.home .ct-fancy-box .item--title {
    line-height: 1.35;
}

body.home .ct-fancy-box .item--description {
    color: var(--sds-muted);
    line-height: 1.75;
}

/* Images, logos and carousels */
body.home .elementor-widget-image img,
body.home .ct-image-single img {
    border-radius: 14px;
}

body.home .swiper-pagination-bullet,
body.home .slick-dots button {
    transition: width .2s ease, background .2s ease;
}

body.home .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: 8px;
    background: var(--sds-red);
}

/* Footer */
body.home footer.elementor-element {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

body.home footer.elementor-element a {
    transition: color .2s ease, opacity .2s ease;
}

body.home footer.elementor-element a:hover {
    color: #fff;
    opacity: .82;
}

/* Responsive refinements */
@media (max-width: 1024px) {
    body.home .elementor-element-3f85aa2 {
        padding-right: 16px;
        padding-left: 16px;
    }

    body.home .ct-header-navigation {
        border-radius: 16px;
    }

    body.home .elementor-top-section > .elementor-container {
        padding-right: 18px;
        padding-left: 18px;
    }
}

@media (max-width: 767px) {
    :root {
        --sds-radius: 15px;
    }

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

    body.home h2 {
        font-size: clamp(27px, 8vw, 36px) !important;
    }

    body.home .btn,
    body.home .elementor-button,
    body.home .ct-button-wrapper .btn {
        width: 100%;
        min-height: 50px;
        justify-content: center;
        padding: 14px 20px;
    }

    body.home .ct-fancy-box {
        box-shadow: 0 8px 24px rgba(8, 30, 52, .07);
    }

    body.home .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
        padding-right: 14px;
        padding-left: 14px;
    }
}

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

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