/* =========================================== */
/* IMPREZA BUTTON FALLBACK STYLES               */
/* Fixes hidden buttons (us-btn-style_12/_13)   */
/* =========================================== */

/* Base w-btn styles */
.w-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
    line-height: 1.4;
    letter-spacing: 0.02em;
}
.w-btn i {
    font-size: 1em;
}
.w-btn .w-btn-label {
    display: inline-block;
}

/* Style 12 — Solid blue (primary CTA) */
.us-btn-style_12 {
    background-color: #2563eb;
    color: #ffffff !important;
    border: 2px solid #2563eb;
}
.us-btn-style_12:hover {
    background-color: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff !important;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(37,99,235,0.35);
}

/* Style 13 — Outline/ghost (secondary CTA) */
.us-btn-style_13 {
    background-color: transparent;
    color: #2563eb !important;
    border: 2px solid #2563eb;
}
.us-btn-style_13:hover {
    background-color: #2563eb;
    color: #ffffff !important;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(37,99,235,0.25);
}

/* =========================================== */
/* IMPREZA TEXT ELEMENT SIZE FIXES             */
/* =========================================== */

/* w-text heading elements */
.w-text .w-text-h {
    display: block;
}

/* w-iconbox icon sizing */
.w-iconbox-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}
.w-iconbox.align_center {
    text-align: center;
}
.w-iconbox.iconpos_top .w-iconbox-icon {
    justify-content: center;
}
.w-iconbox-meta {
    display: block;
}

/* w-hwrapper — horizontal wrapper for buttons */
.w-hwrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.w-hwrapper.align_center {
    justify-content: center;
}

/* w-vwrapper — vertical wrapper */
.w-vwrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    border-radius: 8px;
    background: #f8fafc;
    margin-bottom: 16px;
}

/* w-btn-wrapper */
.w-btn-wrapper {
    display: inline-flex;
}
.w-btn-wrapper.align_center {
    justify-content: center;
}

/* =========================================== */
/* IMPREZA SECTION SPACING FIXES               */
/* =========================================== */

/* .l-section-h {
    padding: 60px 5%;
} */
.w-separator.size_small {
    height: 20px;
}
.w-separator.size_medium {
    height: 40px;
}
.w-separator.size_large {
    height: 60px;
}

/* Animate this elements — prevent invisible content */
.us_animate_this {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

/* =========================================== */
/* Custom Font Optimizations */
@font-face {
    /* If you have local custom fonts, ensure font-display is swap to prevent render blocking */
    font-family: 'CustomFontName'; /* Replace with actual name if known */
    src: local('Arial'); /* Placeholder, replace with actual url() */
    font-display: swap; 
}

/* Container removed to allow WordPress/Elementor full width layout */

/* YouTube Lazy Load Styles */
.yt-lazy-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
    cursor: pointer;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.2s ease-in-out;
}

.yt-lazy-container:hover {
    transform: scale(1.01);
}

.yt-lazy-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.yt-lazy-container:hover img {
    opacity: 0.6;
}

.yt-lazy-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 48px;
    background-color: rgba(255, 0, 0, 0.8);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease;
}

.yt-lazy-container:hover .yt-lazy-play {
    background-color: rgba(255, 0, 0, 1);
}

.yt-lazy-play::before {
    content: '';
    display: block;
    border-style: solid;
    border-width: 10px 0 10px 20px;
    border-color: transparent transparent transparent #fff;
}

.yt-lazy-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* User requested overrides for extracted Impreza CSS */
.l-section {
    margin: 0 !important;
}

/* Fix for Impreza's internal FontAwesome naming overriding the CDN */
@font-face {
    font-family: 'fontawesome';
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'fontawesome';
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'fontawesome';
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
}
/* Fallback for older FontAwesome 4.x names if used */
@font-face {
    font-family: 'FontAwesome';
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
/* Ensure Material Icons font-family mapping is enforced */
.material-icons {
    font-family: 'Material Icons' !important;
}

/* Fix for Latest News & Insights Grid Layout */
/* We increase specificity by adding 'body ' so it overrides the flex layout without needing !important */
body .w-grid.type_grid[class*="cols_"] .w-grid-list {
    display: grid;
    grid-template-columns: repeat(var(--columns, 1), 1fr);
    grid-auto-flow: dense;
    gap: calc(var(--gap, 0px) * 2);
    margin: 0;
}

/* ========================================= */
/* HEADER CUSTOM STYLES                      */
/* ========================================= */

.logo {
  width: 120px !important;
}

.menuitem {
    font-size: 16px !important;
    font-weight: 300 !important;
    font-family: Rubik, sans-serif !important;
}

/* Enable dropdown on hover */
.navbar-nav .dropdown:hover .dropdown-menu {
    display: block;
}

/* Prevent flickering on hover */
.navbar-nav .dropdown-menu {
    margin-top: 0;
    display: none;
    position: absolute;
}

.drop {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 -5px 15px rgba(0,0,0,.15);
}

.fw300 {
    font-weight: 300 !important;
}

.topbar {
    transition: top 0.3s ease-in-out;
    position: relative;
}

.topbar.hidden {
    top: -100px;
    position: absolute;
}

.fixed-navbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.us_custom_12829b65 .vc_column_container:hover {
    box-shadow: 2px 5px 10px #eee;
    border-radius: 23px;
}

.us_custom_b91424ac .owl-item .usg_post_image_1 {
    box-shadow: 2px 5px 10px #eee;
    border-radius: 10px;
}

.clienttest .usg_post_content_1:hover {
    box-shadow: 7px 8px 9px #eee;
    border-radius: 21px;
}

.clienttest iframe {
    border-radius: 21px;
}

.page-id-9347 .w-image-h img {
  transition: transform 0.3s ease; /* Smooth zoom */
}

.page-id-9347 .w-image-h:hover img {
  transform: scale(1.1); /* Zooms the image on hover */
}

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm:hover {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

/* CTA button styling */
.nav-item.ctabtn .nav-link {
  background: #222;          /* light background */
  color: #ffffff !important;               /* dark blue text */
  padding: 10px 18px;
  border-radius: 999px;         /* fully rounded pill */
  font-weight: 600;
  transition: all 0.25s ease;
}

/* Hover effect */
.nav-item.ctabtn .nav-link:hover {
  background: #2563eb;          /* your required hover */
  color: #fff;
  text-decoration: none;
}

/* ========================================= */
/* FOOTER CUSTOM STYLES                      */
/* ========================================= */

.contact-section {
    background: url('https://innovapte.com/wp-content/uploads/2023/12/innovapte-contact-us-footer-1920x820-1.jpg');
    background-size: cover;
    background-position: center;
    color: white;
    padding: 80px 0;
}
.location-icon, .phone-icon, .email-icon {
    color: #5BC5F2;
    font-size: 1.2rem;
    margin-right: 10px;
}
.contact-link {
    color: #5BC5F2;
    text-decoration: none;
    transition: color 0.3s;
}
.contact-link:hover {
    color: #4AA3D9;
}
.form-control {
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
}
input:not([type="submit"]):focus {
    background: transparent;
}
textarea {
    background: #eee !important;
}
.form-control::placeholder {
    color: rgba(255, 255, 255, 0.6);
}
.footer-links {
    margin: 0!important;
}
.contact-info2 {
    font-size: 12px;
    margin: 0!important;
}
.contact-section input, .contact-section select, .contact-section textarea {
    background: transparent !important;
    border: 1px solid #ced4da;
    border-radius: 15px;
    padding: 0px 10px;
    font-size: 14px;
    color: #ffffff !important;
    width: 100%;
    transition: all 0.25s ease-in-out;
}
.contact-section input:focus, .contact-section select:focus, .contact-section textarea:focus {
    outline: none;
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
    background-color: #ffffff;
}
.contact-section input:hover, .contact-section select:hover, .contact-section textarea:hover {
    border-color: #adb5bd;
}
.contact-section input[type="checkbox"] {
    width: 18px;
    height: 18px;
    border-radius: 6px;
    cursor: pointer;
}
.contact-section input[type="checkbox"]:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}
.om-holder input:not([type="submit"]):focus {
    color: #222 !important;
}
.us_custom_74769db6 {
    color: #111731 !important;
    background: #ffffff !important;
}
.w-btn.us_custom_74769db6 {
    background: #ffffff !important;
    color: #030303 !important;
    border-color: #ffffff !important;
}
.us_custom_2d6d56a2 a.us-btn-style_12 {
    background: #ffffff !important;
    color: #030303 !important;
    border-color: #ffffff !important;
}

/* =============== GLOBAL PADDING FIX =============== */
/* Reduce the default massive padding added by Impreza/WPBakery on all sections */
.l-section {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
}

/* If some sections have height_small or height_medium, override them too */
.l-section.height_small {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}
.l-section.height_medium,
.l-section.height_default {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
}
.l-section.height_large {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}
/* Also reduce margin on WPBakery rows if any */
.wpb_row, .wpb_content_element {
    margin-bottom: 1.5rem !important;
}
/* ================================================== */

/* =============== BLOGS PAGE HERO SECTION FIX =============== */
.us_custom_52845253 {
    background-color: #103d46 !important;
    background-image: linear-gradient(135deg, rgba(16,61,70,0.95) 0%, rgba(16,61,70,0.85) 100%), url('https://innovapte.com/wp-content/uploads/2023/12/sap-integration-New.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    color: #ffffff !important;
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
    position: relative;
}
.us_custom_52845253 h1, 
.us_custom_52845253 p, 
.us_custom_52845253 strong,
.us_custom_52845253 span {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.6) !important;
}
/* ========================================================= */
/* YouTube Lazy Load Styles */
.yt-lazy-container { position: relative; width: 100%; padding-bottom: 56.25%; background-color: #000; overflow: hidden; cursor: pointer; border-radius: 12px; box-shadow: 0 10px 20px rgba(0,0,0,0.15); transition: transform 0.3s; }
.yt-lazy-container:hover { transform: scale(1.02); }
.yt-lazy-container img { position: absolute; width: 100%; height: 100%; object-fit: cover; opacity: 0.8; transition: opacity 0.3s; }
.yt-lazy-container:hover img { opacity: 1; }
.yt-lazy-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 70px; height: 46px; background-color: rgba(0,0,0,0.8); border-radius: 10px; transition: background-color 0.3s; }
.yt-lazy-container:hover .yt-lazy-play { background-color: #ff0000; }
.yt-lazy-play::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-40%, -50%); border-style: solid; border-width: 10px 0 10px 20px; border-color: transparent transparent transparent #fff; }
.yt-lazy-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* ========================================= */
/* EASY TABLE OF CONTENTS HIGH-SPECIFICITY OVERRIDES */
/* ========================================= */
body #ez-toc-container {
    background: #f9f9f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 15px 20px !important;
    display: block !important;
    max-width: 100% !important;
    width: fit-content !important;
    min-width: 320px !important;
    margin: 20px 0 !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05) !important;
    direction: ltr !important;
    position: relative !important;
}

body #ez-toc-container nav {
    display: block !important;
    margin-top: 10px !important;
}

body #ez-toc-container .ez-toc-title-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding-bottom: 8px !important;
    margin-bottom: 10px !important;
    width: 100% !important;
}

body #ez-toc-container p.ez-toc-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
}

body #ez-toc-container .ez-toc-title-toggle {
    display: inline-flex !important;
    align-items: center !important;
}

body #ez-toc-container .ez-toc-title-toggle a {
    color: #64748b !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

body #ez-toc-container .ez-toc-title-toggle a:hover {
    background: #f1f5f9 !important;
    color: #1e293b !important;
    border-color: #94a3b8 !important;
}

body #ez-toc-container .ez-toc-icon-toggle-span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

body #ez-toc-container ul.ez-toc-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body #ez-toc-container ul.ez-toc-list ul {
    list-style: none !important;
    margin: 0 0 0 1.5em !important;
    padding: 0 !important;
}

body #ez-toc-container li {
    list-style: none !important;
    background: none !important;
    margin: 0 !important;
    padding: 5px 0 !important;
    line-height: 1.5 !important;
    position: relative !important;
}

/* Force-disable any theme or bootstrap pseudo-element markers on TOC list items */
body #ez-toc-container li::before,
body #ez-toc-container li::after,
body #ez-toc-container ul::before,
body #ez-toc-container ul::after {
    content: none !important;
    display: none !important;
}

/* Styling the Table of Contents Links */
body #ez-toc-container a.ez-toc-link {
    color: #334155 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    transition: color 0.15s ease !important;
}

body #ez-toc-container a.ez-toc-link:hover {
    color: #2563eb !important;
    text-decoration: underline !important;
}

/* Numbering Counter Styling */
body #ez-toc-container.ez-toc-counter nav ul {
    counter-reset: item !important;
}

body #ez-toc-container.ez-toc-counter nav ul li {
    counter-increment: none !important;
}

body #ez-toc-container.ez-toc-counter nav ul li a::before {
    content: counters(item, ".", decimal) ". " !important;
    display: inline-block !important;
    counter-increment: item !important;
    margin-right: 0.5em !important;
    color: #64748b !important;
    font-weight: 600 !important;
    flex-shrink: 0 !important;
}

/* ========================================= */
/* WEBINAR GRID CARD ADJUSTMENTS             */
/* ========================================= */
.page-id-3217 .w-grid-list,
.page-id-3217 .w-grid-list-h {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

@media (max-width: 1200px) {
    .page-id-3217 .w-grid-list,
    .page-id-3217 .w-grid-list-h {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 992px) {
    .page-id-3217 .w-grid-list,
    .page-id-3217 .w-grid-list-h {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
}

@media (max-width: 600px) {
    .page-id-3217 .w-grid-list,
    .page-id-3217 .w-grid-list-h {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

.page-id-3217 .w-grid-item {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
}

.page-id-3217 .w-grid-item-h {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    text-align: center !important;
}

.page-id-3217 .w-grid-item-h:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
}

.page-id-3217 .w-grid-item-h .post_image {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.page-id-3217 .w-grid-item-h .post_image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.page-id-3217 .w-grid-item-h .w-vwrapper {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    padding: 24px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.page-id-3217 .w-grid-item-h .w-vwrapper .post_title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    min-height: 70px !important;
    color: #1e293b !important;
    margin: 0 0 12px 0 !important;
    text-align: left !important;
}

.page-id-3217 .w-grid-item-h .w-vwrapper .event_date {
    font-size: 0.6rem !important;
    color: #64748b !important;
    margin: 0 0 24px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    justify-content: center !important;
    text-align: left !important;
}

.page-id-3217 .w-grid-item-h .w-vwrapper .w-btn {
    margin-top: auto !important; /* Pushes the button to the absolute bottom of the flex card */
    margin-bottom: 0 !important;
    align-self: center !important;
    width: 100% !important;
    display: inline-flex !important;
    justify-content: center !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
}
