/*
Theme Name: Industo Child
Theme URI: http://demo.casethemes.net/industo/
Author: Case-Themes
Author URI: https://themeforest.net/user/case-themes/portfolio/
Description: Industo is a WordPress theme specially designed for factory, manufacturing and industrial businesses. Industo has a beautiful and unique design that will be best suited for your online web presence. It is fully responsive, retina ready and easy to customize.
Version: 1.0.8
License: ThemeForest
License URI: https://themeforest.net/licenses
Template: industo
Text Domain: industo-child
Tags: business, company, construction, industrial, industry, industry theme, manufacturing, factory, engineering, energy, plants, machinery, mechanical, oil
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.
*/

/* ==========================================================================
   1. COLOUR PALETTE OVERRIDE
   Deep Navy (#0d1b2a) base + Safety Orange (#f56e28) accent.
   These :root variables override the Redux-generated inline <style> because
   the child stylesheet loads after it in the cascade. If the client later
   saves new colours in Appearance → Theme Options, these rules will win.
   Update this block if the palette ever needs to change.
   ========================================================================== */

:root {
    /* Primary / accent – Safety Orange */
    --primary-color:         #f56e28;
    --primary-color-rgb:     245, 110, 40;

    /* Secondary / base – Deep Navy */
    --secondary-color:       #0d1b2a;
    --secondary-color-rgb:   13, 27, 42;

    /* Third colour – mid-tone for body text support */
    --third-color:           #7a8a9a;

    /* Links */
    --link-color:            #f56e28;
    --link-color-hover:      #f56e28;
    --link-color-active:     #f56e28;

    /* Gradient (used in buttons, dividers, highlights) */
    --gradient-color-from:   #f56e28;
    --gradient-color-to:     #0d1b2a;
}

/* Explicit body / heading colours so older theme rules that use hex
   literals instead of CSS variables are also brought in line. */
body {
    background-color: #ffffff;
    color: #3a4a5a;
}

h1, h2, h3, h4, h5, h6 {
    color: #0d1b2a;
}

a {
    color: #f56e28;
}

a:hover,
a:focus {
    color: #f56e28;
}

/* Primary-colour fills and borders used in buttons, icons and headings */
.ct-btn,
.ct-btn-primary,
.elementor-button,
.wp-block-button__link {
    background-color: #f56e28 !important;
    border-color:     #f56e28 !important;
    color:            #ffffff !important;
}

.ct-btn:hover,
.ct-btn-primary:hover,
.elementor-button:hover,
.wp-block-button__link:hover {
    background-color: #f56e28 !important;
    border-color:     #f56e28 !important;
}

/* Hard remove hover/motion effects while preserving interactive functionality */
.elementor a,
.elementor button,
.elementor .ct-btn,
.elementor .ct-btn-primary,
.elementor .elementor-button,
.elementor [class*="ct-"],
.ct-btn,
.ct-btn-primary,
.elementor-button {
    animation: none !important;
    transition-property: none !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
    transform: none !important;
}

.elementor a:hover,
.elementor button:hover,
.elementor .ct-btn:hover,
.elementor .ct-btn-primary:hover,
.elementor .elementor-button:hover,
.elementor [class*="ct-"]:hover,
.ct-btn:hover,
.ct-btn-primary:hover,
.elementor-button:hover {
    transform: none !important;
    filter: none !important;
}

/* NOTE: Additional overrides for Elementor-specific animations, global kit
   variables and per-page hardcoded button/icon/background colours are output
   as a late inline <style id="industo-child-overrides"> in functions.php
   (wp_head priority 999) to guarantee they load after Elementor's CSS.
   Edit the industo_child_late_inline_css() function for those rules.
   ========================================================================== */

/* ==========================================================================
   2. KILL ENTRANCE ANIMATIONS
   WOW.js is dequeued in functions.php so new WOW().init() never runs.
   The rules below act as a hard CSS safety net: any .wow or Animate.css
   class that was already applied to an element in the markup is forced to
   its final/visible state immediately, with no motion.
   Subtle :hover { transition: … } rules in theme.css are unaffected because
   they use `transition`, not `animation`.
   ========================================================================== */

/* Elementor-invisible: force visible immediately (no entrance animation wait) */
.elementor-invisible {
    visibility: visible !important;
    opacity:    1       !important;
}

/* Force all WOW-tagged and Animate.css elements to be visible + still */
.wow,
.animated,
[class*="animate__"],
[data-wow-delay],
[data-wow-duration] {
    animation:           none !important;
    animation-delay:     0ms  !important;
    animation-duration:  0ms  !important;
    opacity:             1    !important;
    visibility:          visible !important;
    transform:           none !important;
}

/* Individual Animate.css entrance classes used in Industo markup */
.fadeIn,
.fadeInUp,
.fadeInDown,
.fadeInLeft,
.fadeInRight,
.fadeInUpBig,
.zoomIn,
.zoomInUp,
.slideInUp,
.slideInDown,
.slideInLeft,
.slideInRight,
.bounceIn,
.bounceInUp,
.bounceInDown,
.bounceInLeft,
.bounceInRight,
.rotateIn,
.lightSpeedIn,
.flipInX,
.flipInY {
    animation:  none !important;
    opacity:    1    !important;
    transform:  none !important;
    visibility: visible !important;
}

/* Theme-specific staggered delay helpers injected by main.js */
.animate-time .grid-item > .wow,
.case-animate-time .slide-in-container > .wow {
    animation-delay: 0ms !important;
    transition-delay: 0ms !important;
}

/* Page-loader fade animation */
#ct-loadding,
.ct-loader {
    animation: none !important;
    display:   none !important;
}

/* ==========================================================================
   3. SUPPRESS PARALLAX & TILT EFFECTS
   The parallax and tilt JS widgets are still registered (they load per
   Elementor widget), but their transform output is neutralised here.
   ========================================================================== */

.ct-parallax-container,
.ct-parallax-layer,
[data-parallax],
.elementor-motion-effects-container,
.elementor-motion-effects-layer {
    transform: none !important;
    will-change: auto !important;
}

.ct-tilt,
[data-tilt] {
    transform: none !important;
    transition: none !important;
}

/* el-parallax section backgrounds */
.ct-parallax-bg {
    background-attachment: scroll !important;
    transform: none !important;
}

/* ==========================================================================
   4. HIDE DECORATIVE / NON-STRUCTURAL ELEMENTS
   Floating shapes, animated particles, abstract blobs and SVG decorations
   that don't carry content and undermine the clean industrial look.
   ========================================================================== */

/* Animated floating particle groups */
.ct-particle-animate,
.ct-particle-animate .shape-animate1,
.ct-particle-animate .shape-animate2,
.ct-particle-animate .shape-animate3,
.ct-particle-animate .shape-animate4,
.ct-particle-animate .shape-animate5 {
    display: none !important;
}

/* Abstract shape overlays */
.ct-shape-wrap,
.ct-icon-shape,
.ct-image-shape,
.ct-abs-shape,
.ct-bg-shape,
[class*="ct-shape"],
.elementor-shape,
.elementor-shape-bottom,
.elementor-shape-top {
    display: none !important;
}

/* Custom cursor dot / ring */
#ct-cursor,
.ct-cursor,
.cursor-dot,
.cursor-ring,
.cursor-inner,
.cursor-outer {
    display: none !important;
}

/* ==========================================================================
   5. REVOLUTION SLIDER — STATIC CROSSFADE
   Forces all RevSlider layers and captions to a simple fade-only transition.
   The actual slide Main Transition should also be set to Fade inside the
   RevSlider admin, but these rules act as a CSS safety net and disable any
   flying-text entrance/exit animations on individual layers.
   ========================================================================== */

/* Kill per-layer entrance animations */
.tp-caption,
.tp-layer,
.tp-element,
.tp-revslider-mainul .tp-revslider-slidesli,
[class*="tp-rs-elem"] {
    animation:        none !important;
    transition:       opacity 0.6s ease !important;
    transform:        none !important;
}

/* Keep the slide itself crossfading cleanly */
.tp-revslider-mainul {
    transition: none !important;
}

.rev_slider .tp-bgimg {
    animation:           none !important;
    transform:           none !important; /* disables Ken Burns / zoom */
    background-size:     cover !important;
    background-position: center center !important;
}

/* Remove parallax depth layers inside RevSlider */
.tp-parallax-wrap,
.tp-static-layers {
    transform: none !important;
}

/* ==========================================================================
   6. STRUCTURAL COLOUR REINFORCEMENTS
   Belt-and-braces rules for common UI areas that may have been hardcoded
   with the previous orange-red (#fa4318) or default blue (#0f67f6) values.
   ========================================================================== */

/* Section / row backgrounds that use the secondary colour */
.ct-bg-secondary,
.elementor-section.ct-bg-dark,
.ct-hero-section {
    background-color: #0d1b2a !important;
}

/* Icon boxes, service boxes — accent line / icon colour */
.ct-iconbox .ct-icon,
.ct-service-box .ct-icon,
.ct-counter .ct-number,
.ct-info-box .ct-icon {
    color: #f56e28 !important;
}

/* Accent border / underline on section headings */
.ct-heading .ct-sub-heading,
.ct-heading::after,
.ct-heading-line::before {
    background-color: #f56e28 !important;
    border-color:     #f56e28 !important;
    color:            #f56e28 !important;
}

/* Progress bars */
.ct-progressbar .ct-progress-bar,
.elementor-progress-bar {
    background-color: #f56e28 !important;
}

/* Blockquote border */
blockquote {
    border-left-color: #f56e28 !important;
}

/* Read-more / outline buttons */
.ct-btn-outline,
.ct-btn-border {
    border-color: #f56e28 !important;
    color:        #f56e28 !important;
}

.ct-btn-outline:hover,
.ct-btn-border:hover {
    background-color: transparent !important;
    color:            #f56e28 !important;
}

/* ==========================================================================
   7. FRONT PAGE HARD LOCK (NAVY + ORANGE, NO SHINE / NO HOVER COLOR SHIFT)
   ========================================================================== */

body.home .btn,
body.home button,
body.home .button,
body.home input[type="submit"],
body.home .ct-button-wrapper .btn,
body.home .ct-button-wrapper a.btn,
body.home .btn-slider-cutstom,
body.home .sr7-layer.btn-slider-cutstom,
body.home .sr7-layer.sr7-btn,
body.home a.sr7-layer[href^="tel:"] {
    background-color: #f56e28 !important;
    background-image: none !important;
    border-color: #f56e28 !important;
    color: #ffffff !important;
}

body.home .btn:hover,
body.home button:hover,
body.home .button:hover,
body.home input[type="submit"]:hover,
body.home .btn:focus,
body.home button:focus,
body.home .button:focus,
body.home input[type="submit"]:focus,
body.home .ct-button-wrapper .btn:hover,
body.home .ct-button-wrapper a.btn:hover,
body.home .ct-button-wrapper .btn:focus,
body.home .ct-button-wrapper a.btn:focus,
body.home .btn-slider-cutstom:hover,
body.home .sr7-layer.btn-slider-cutstom:hover,
body.home .sr7-layer.sr7-btn:hover,
body.home a.sr7-layer[href^="tel:"]:hover {
    background-color: #f56e28 !important;
    background-image: none !important;
    border-color: #f56e28 !important;
    color: #ffffff !important;
}

/* Remove shine sweep pseudo-elements from theme buttons */
body.home .btn.btn-primary::after,
body.home .btn.btn-secondary::after,
body.home .btn-hover::after,
body.home .ct-button-wrapper .btn::after,
body.home .ct-button-wrapper .btn::before,
body.home .btn.btn-animate::before {
    content: none !important;
    display: none !important;
}

/* Keep icon chip in CTA stable (no white/black flip on hover) */
body.home .btn-home2 .ct-button-wrapper .btn i,
body.home .btn-slider-cutstom i,
body.home .ct-button-wrapper .btn:hover i,
body.home .btn-home2 .ct-button-wrapper .btn:hover i {
    background-color: rgba(255, 255, 255, 0.30) !important;
    color: #ffffff !important;
}

/* Replace front-page bright-blue blocks with dark navy */
body.home .elementor [style*="background-color:#1979fe"],
body.home .elementor [style*="background-color: #1979fe"],
body.home .elementor [style*="background-color:#1979FE"],
body.home .elementor [style*="background-color:#0f67f6"],
body.home .elementor [style*="background-color:#0F67F6"] {
    background-color: #0d1b2a !important;
}

/* Disable non-essential motion on front page interactive/decorative elements */
body.home .elementor .btn,
body.home .elementor .ct-button-wrapper .btn,
body.home .elementor .ct-button-wrapper a.btn,
body.home .elementor .btn-hover,
body.home .elementor .btn-shadow,
body.home .elementor .wow,
body.home .elementor [class*="animate__"],
body.home .elementor [class*="ct-particle"],
body.home .elementor [class*="ct-shape"] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* ==========================================================================
   8. HOME: REMOVE SERVICE ICON ROTATION + FLOATING HERO SOCIALS
   ========================================================================== */

/* Dotted ring loop rotation on the 4 service cards */
body.home .ct-service-carousel4 .grid-item-inner:hover .item--icon:before,
body.home .ct-service-carousel4 .item--icon:before {
    animation: none !important;
    -webkit-animation: none !important;
    -moz-animation: none !important;
    transform: none !important;
}

/* Floating social links in hero (Facebook/Twitter/Instagram column) */
body.home .elementor-2923 .elementor-element.elementor-element-5217210,
body.home .elementor-2923 .elementor-element.elementor-element-5217210 .ct-socials {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}