/*
Theme Name: Zestify
Theme URI: https://themesdaddy.com/themes/zestify-free/
Author: Themes Daddy
Author URI: https://themesdaddy.com/
Description: Zestify Pro - Lightning Fast Multipurpose WordPress Theme with 22+ Homepage Sections, Live Customizer, Elementor & WooCommerce Compatible.
Version: 2.1.2
Tested up to: 6.8
Requires at least: 5.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zestify
Tags: one-column, two-columns, right-sidebar, left-sidebar, flexible-header, custom-background, custom-header, custom-menu, editor-style, featured-images, footer-widgets, post-formats, theme-options, threaded-comments, rtl-language-support, translation-ready, full-width-template, custom-logo, blog, e-commerce, portfolio, grid-layout
*/

:root {
    --zestify-primary: #e11c09;
    --zestify-primary-dark: #bf1707;
    --zestify-primary-light: rgba(225, 28, 9, 0.15);
    --zestify-secondary: #214462;
    --zestify-secondary-dark: #0e1531;
    --zestify-white: #ffffff;
    --zestify-dark: #0e1531;
    --zestify-body-bg: #ffffff;
    --zestify-body-color: #555555;
    --zestify-heading-color: #222222;
    --zestify-link-color: #214462;
    --zestify-link-hover: #e11c09;
    --zestify-transition: all 0.3s ease;
    --zestify-container-width: 1200px;
    --zestify-gradient: linear-gradient(135deg, var(--zestify-primary), var(--zestify-primary-dark));
    --bs-gray: #dedede;
    --bs-gray-light: #f7f7f7;
    --bs-gray-dark: #343a40;
    --bs-gray-500: #f2f2f2;
    --bs-gray-500-thumb: #c2c2c2;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

.bg-gray { background-color: var(--bs-gray-500); }
.text-primary { color: var(--zestify-primary); }

body {
    margin: 0; padding: 0;
    font-family: var(--zestify-font-body);
    font-size: 15px; line-height: 1.7;
    color: var(--zestify-body-color);
    background-color: var(--zestify-body-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

body.boxed {
    max-width: 1240px; margin: 0 auto;
    box-shadow: 0 0 40px rgba(0,0,0,0.1);
}

a {
    color: var(--zestify-link-color);
    text-decoration: none;
    transition: var(--zestify-transition);
}
a:hover, a:focus { color: var(--zestify-link-hover); text-decoration: none; }
a:focus-visible { outline: 2px solid var(--zestify-primary); outline-offset: 2px; }

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--zestify-font-heading);
    font-weight: 700; line-height: 1.3;
    color: var(--zestify-heading-color);
    margin-top: 0; margin-bottom: 15px;
}
h1 { font-size: 2.5rem; } h2 { font-size: 2rem; }
h3 { font-size: 1.575rem; } h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; } h6 { font-size: 0.95rem; }

p { margin-bottom: 15px; }
ul, ol { margin: 0; padding: 0; list-style: none; }

.container {
    width: 100%;
    max-width: var(--zestify-container-width);
    margin: 0 auto;
    padding: 0 15px;
}
.container-fluid { width: 100%; padding: 0 15px; margin: 0 auto; }

.row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
[class*="col-"] {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}
.col-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
.col-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
.col-3 { flex: 0 0 25%; max-width: 25%; }
.col-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
.col-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
.col-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
.col-9 { flex: 0 0 75%; max-width: 75%; }
.col-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
.col-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }

.my-auto { margin-top: auto; margin-bottom: auto; }
.d-flex { display: flex; }
.d-none { display: none; }
.d-block { display: block; }
.d-inline-block { display: inline-block; }
.d-inline-flex { display: inline-flex; }
.flex-wrap { flex-wrap: wrap; }
.flex-column { flex-direction: column; }
.align-items-center { align-items: center; }
.align-items-start { align-items: flex-start; }
.align-items-end { align-items: flex-end; }
.justify-content-center { justify-content: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-end { justify-content: flex-end; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.mx-auto { margin-left: auto; margin-right: auto; }
.gap-1 { gap: 0.25rem; } .gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; } .gap-4 { gap: 1.5rem; } .gap-5 { gap: 3rem; }
.g-4 {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
}
.g-4 > [class*="col-"] {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}
.g-5 {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
}
.g-5 > [class*="col-"] {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}
.text-muted { color: #6c757d; }
.mx-lg-auto { margin-left: auto; margin-right: auto; }
.row-cols-1 > * { flex: 0 0 100%; max-width: 100%; }
.row-cols-2 > * { flex: 0 0 50%; max-width: 50%; }
.row-cols-3 > * { flex: 0 0 33.333333%; max-width: 33.333333%; }

.mt-0 { margin-top: 0; } .mb-0 { margin-bottom: 0; }
.mt-1 { margin-top: 0.5rem; } .mb-1 { margin-bottom: 0.5rem; }
.mt-2 { margin-top: 1rem; } .mb-2 { margin-bottom: 1rem; }
.mt-3 { margin-top: 1.5rem; } .mb-3 { margin-bottom: 1.5rem; }
.mt-4 { margin-top: 2rem; } .mb-4 { margin-bottom: 2rem; }
.mt-5 { margin-top: 3rem; } .mb-5 { margin-bottom: 3rem; }
.pt-0 { padding-top: 0; } .pb-0 { padding-bottom: 0; }
.pt-1 { padding-top: 0.5rem; } .pb-1 { padding-bottom: 0.5rem; }
.pt-2 { padding-top: 1rem; } .pb-2 { padding-bottom: 1rem; }
.pt-3 { padding-top: 1.5rem; } .pb-3 { padding-bottom: 1.5rem; }
.pt-4 { padding-top: 2rem; } .pb-4 { padding-bottom: 2rem; }
.pt-5 { padding-top: 3rem; } .pb-5 { padding-bottom: 3rem; }

.position-relative { position: relative; }
.position-absolute { position: absolute; }
.position-fixed { position: fixed; }
.overflow-hidden { overflow: hidden; }

/* Buttons ================================= */
.btn {
    display: inline-block;
    padding: 12px 32px;
    font-size: 15px; font-weight: 600;
    line-height: 1.5; letter-spacing: 0.5px;
    text-align: center; text-decoration: none;
    border: 2px solid transparent;
    border-radius: 30px;
    cursor: pointer;
    transition: var(--zestify-transition);
    position: relative; overflow: hidden; z-index: 1;
}

.btn i { margin-right: 8px; }

.btn-primary {
    background: var(--zestify-gradient);
    color: var(--zestify-white);
    border-color: var(--zestify-primary);
    box-shadow: 0 5px 15px rgba(225, 28, 9, 0.3);
}
.btn-primary:hover {
    background: var(--zestify-secondary);
    border-color: var(--zestify-secondary);
    color: var(--zestify-white);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(225, 28, 9, 0.4);
}

.btn-secondary {
    background-color: var(--zestify-secondary);
    color: var(--zestify-white);
    border-color: var(--zestify-secondary);
}
.btn-secondary:hover {
    background-color: var(--zestify-primary);
    border-color: var(--zestify-primary);
    color: var(--zestify-white);
    transform: translateY(-3px);
}

.btn-outline-primary {
    background-color: transparent;
    color: var(--zestify-primary);
    border-color: var(--zestify-primary);
}
.btn-outline-primary:hover {
    background-color: var(--zestify-primary);
    color: var(--zestify-white);
}

.btn-outline-light {
    background-color: transparent;
    color: var(--zestify-white);
    border-color: var(--zestify-white);
}
.btn-outline-light:hover {
    background-color: var(--zestify-white);
    color: var(--zestify-primary);
    transform: translateY(-3px);
}

/* Slide effect */
.btn-style-two .btn-primary::before {
    content: "";
    position: absolute; top: 0; left: 0; bottom: 0; right: 0;
    background-color: var(--zestify-secondary);
    transform-origin: right center;
    transform: scale(0, 1);
    transition: transform 500ms cubic-bezier(0.85, 0, 0.08, 1);
    z-index: -1;
}
.btn-style-two .btn-primary:hover::before {
    transform-origin: left center;
    transform: scale(1, 1);
}

.btn-sm { padding: 8px 20px; font-size: 13px; }
.btn-lg { padding: 16px 40px; font-size: 17px; }
.btn-border-white { background: transparent; border: 2px solid #fff; color: #fff; }
.btn-border-white:hover { background: #fff; color: var(--zestify-primary); transform: translateY(-3px); }

/* Header ================================== */
.main-header {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    z-index: 3;
    background: var(--zestify-white);
    transition: var(--zestify-transition);
}
.navigation-wrapper { width: 100%; }
.overlay-enabled { overflow: hidden; }

/* Top Header */
.above-header {
    background-color: var(--zestify-secondary-dark);
    padding: 0;
    font-size: 13px;
    color: rgba(255,255,255,0.85);
}
@media (max-width: 991px) {
    .above-header { display: block; }
    .above-header .widget-left,
    .above-header .widget-right {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }
    .above-header .contact-info h6 { font-size: 12px; }
}
@media (max-width: 575px) {
    .above-header .widget-left { flex-direction: column; align-items: center; }
    .above-header .widget-right { flex-direction: column; align-items: center; }
}
.above-header .header-widget { padding: 10px 0; }
.above-header a { color: rgba(255,255,255,0.85); }
.above-header a:hover { color: var(--zestify-primary); }

.above-header .contact-area {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.above-header .contact-icon .contact-corn {
    width: 32px; height: 32px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px;
    color: var(--zestify-primary);
}
.above-header .contact-info h6 {
    margin: 0; font-size: 13px; font-weight: 500;
    color: rgba(255,255,255,0.85);
}
.above-header .contact-info h6 a { color: rgba(255,255,255,0.85); }
.above-header .contact-info h6 a:hover { color: var(--zestify-primary); }

.widget-left, .widget-right { display: flex; align-items: center; gap: 20px; }
.widget-right { justify-content: flex-end; }

/* Social Icons in Top Header */
.widget_social_widget ul {
    display: flex; align-items: center; gap: 6px; margin: 0; padding: 0;
}
.widget_social_widget ul li a {
    display: flex; align-items: center; justify-content: center;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    transition: var(--zestify-transition);
}
.widget_social_widget ul li a:hover {
    background: var(--zestify-primary);
    color: #fff;
}

/* Main Navigation */
.main-navigation-area {
    background-color: var(--zestify-white);
    transition: var(--zestify-transition);
}
.main-navigation-area.sticky {
    position: fixed; top: 0; left: 0; width: 100%;
    z-index: 1000; background: #fff;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    animation: slideDown 0.4s ease;
}

.main-navigation {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    min-height: 70px;
    transition: var(--zestify-transition);
}
.nav-flex-wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.nav-logo-col {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}
.nav-menu-col {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
    display: flex;
    align-items: center;
}

/* Sticky Menu */
.is-sticky-menu {
    position: fixed;
    top: -1px;
    left: 0;
    right: 0;
    width: 100%;
    background: var(--zestify-white);
    z-index: 999;
    box-shadow: 0 10px 15px rgba(0,0,0,0.05);
    animation: 1s ease-in-out 0s normal none 1 running fadeInDown;
}
@media only screen and (min-width: 783px) {
    body.admin-bar .is-sticky-menu {
        top: 32px;
    }
}
@media only screen and (max-width: 782px) and (min-width: 601px) {
    body.admin-bar .is-sticky-menu {
        top: 46px;
    }
}

/* Zestify Theme Header Styles (Desktop) */
@media (min-width: 992px) {
    .zestify-theme .main-header {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        margin: 0 auto;
        z-index: 99;
        background: transparent;
    }
    body.zestify-theme.admin-bar .main-header {
        top: 32px;
    }

    .zestify-theme .main-navigation-area {
        background: transparent;
    }
    .zestify-theme .above-header {
        background: none;
        border-bottom: none;
    }
    .zestify-theme .above-header .row {
        background-color: var(--zestify-secondary-dark);
    }
    .zestify-theme .above-header .widget-left,
    .zestify-theme .above-header .widget-right {
        position: relative;
        overflow-y: clip;
    }
    .zestify-theme .above-header .widget-left:before {
        content: "";
        position: absolute;
        background: var(--zestify-primary);
        top: 0;
        left: -53px;
        bottom: -1px;
        width: 95%;
        -webkit-clip-path: polygon(0 0, 100% 0%, 97% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0%, 97% 100%, 0 100%);
        z-index: 0;
    }
    .zestify-theme .above-header .widget-left:after {
        content: "";
        position: absolute;
        background: var(--zestify-primary);
        top: -2px;
        left: 87%;
        bottom: -3px;
        width: 4px;
        z-index: 0;
        transform: rotate(22deg);
    }

    .zestify-theme .main-navigation:not(.is-sticky-menu) {
        margin-top: 50px;
        min-height: 80px;
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .logo-wrap {
        position: relative;
        z-index: 1;
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .logo-wrap:before {
        position: absolute;
        content: '';
        bottom: -30px;
        right: -15px;
        border-bottom: 18px solid var(--zestify-white);
        border-right: 16px solid transparent;
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .logo-wrap .logo:before {
        position: absolute;
        content: '';
        left: -26px;
        top: -30px;
        right: 0px;
        bottom: -30px;
        z-index: -1;
        border-radius: 80px 0px 0px 80px;
        background-color: var(--zestify-white);
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .logo-wrap .logo:after {
        position: absolute;
        content: '';
        right: -61px;
        top: -30px;
        bottom: 0px;
        border-top: 100px solid var(--zestify-white);
        border-right: 62px solid transparent;
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .nav-wrap {
        position: relative;
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .nav-wrap:before {
        position: absolute;
        content: '';
        left: 0;
        bottom: -20px;
        border-left: 15px solid transparent;
        border-right: 15px solid transparent;
        border-top: 20px solid var(--zestify-white);
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .nav-wrap:after {
        position: absolute;
        content: '';
        left: 0;
        bottom: 0px;
        border-bottom: 94px solid var(--zestify-white);
        border-left: 60px solid transparent;
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .navbar-area {
        position: relative;
        gap: 30px;
        padding: 0px 20px 0px 10px;
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .navbar-area:before {
        position: absolute;
        content: '';
        left: 50px;
        top: 0px;
        right: 0px;
        bottom: 0px;
        border-radius: 0px 50px 50px 0px;
        background-color: var(--zestify-white);
    }
    .zestify-theme .main-navigation:not(.is-sticky-menu) .main-navbar:not(.breadcrumb-menu) .main-menu > li > a,
    .zestify-theme .main-navigation:not(.is-sticky-menu) .main-menu-right > ul > li {
        line-height: 4.5rem;
        min-height: 4.5rem;
    }
    .zestify-theme .above-header:before { display: none; }
    .zestify-theme .above-header:after { display: none; }
    .zestify-theme .home-slider,
    .zestify-theme .home-slider .swiper-slide > img {
        min-height: 750px;
        object-fit: cover;
    }
    .zestify-theme .home-slider .main-slider div.main-content {
        margin-bottom: 0;
        margin-top: 8rem;
        background: rgba(5, 5, 10, 0.6);
        padding: 2.625rem 1.875rem 2.5rem;
        width: 65%;
        border-radius: 3px;
    }
    .zestify-theme .home-slider .main-slider .main-content.text-left {
        border-left: 3px solid var(--zestify-primary);
    }
    .zestify-theme .home-slider .main-slider .main-content.text-center {
        border-top: 3px solid var(--zestify-primary);
    }
    .zestify-theme .home-slider .main-slider .main-content.text-right {
        border-right: 3px solid var(--zestify-primary);
    }
}

@media (min-width: 1400px) {
    .zestify-theme .main-navigation:not(.is-sticky-menu) .logo-wrap .logo:before {
        left: -50px;
    }
}

.zestify-theme .main-navigation:not(.is-sticky-menu) .logo-wrap .logo a:not(:has(+ .site-description)) h4 {
    line-height: 1.8 !important;
}

.zestify-theme .main-content h4 {
    display: inline-flex;
    gap: 20px;
    align-items: center;
    color: var(--zestify-white);
    border: none;
    background: var(--zestify-primary);
    border-radius: 20px;
    padding: 5px 20px;
}
.zestify-theme .main-content h4 .stdot {
    position: relative;
    display: block;
    height: 2px;
    background: var(--zestify-white);
    width: 43px;
    border-radius: 30px;
}
.zestify-theme .main-content h4 .stdot::before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8.24px;
    height: 8.24px;
    border-radius: 50%;
    background: var(--zestify-white);
}
.zestify-theme .main-content h4 .stdot::after {
    content: '';
    position: absolute;
    right: -5px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid var(--zestify-white);
}

.logo-wrap .logo {
    position: relative;
}
.logo-wrap .logo a {
    display: flex; align-items: center; gap: 10px;
}
.logo-wrap .logo h4 {
    font-size: 1.6rem; font-weight: 800;
    color: var(--zestify-secondary-dark);
    margin: 0; line-height: 1;
}
.logo-wrap .logo .site-description {
    font-size: 12px; color: #888; margin: 0;
}

.nav-wrap { display: flex; align-items: center; width: 100%; }
.navbar-area { display: flex; align-items: center; width: 100%; justify-content: flex-end; }
.main-navbar { flex: 1; }

.main-menu {
    display: flex; align-items: center; gap: 0; margin: 0; padding: 0;
    list-style: none;
}
.main-menu > li { position: relative; }
.main-menu > li > a {
    display: block;
    padding: 10px 16px;
    font-size: 15px; font-weight: 600;
    color: var(--zestify-heading-color);
    line-height: 50px;
    transition: var(--zestify-transition);
}
.main-menu > li > a:hover,
.main-menu > li.current-menu-item > a,
.main-menu > li.current_page_item > a { color: var(--zestify-primary); }

.main-menu .sub-menu,
.main-menu .dropdown-menu {
    position: absolute; top: 100%; left: 0;
    min-width: 220px;
    background: var(--zestify-white);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-top: 3px solid var(--zestify-primary);
    opacity: 0; visibility: hidden;
    transform: translateY(10px);
    transition: var(--zestify-transition);
    z-index: 1000;
    padding: 10px 0;
    list-style: none;
    margin: 0;
}
.main-menu li:hover > .sub-menu,
.main-menu li:hover > .dropdown-menu {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.main-menu .sub-menu li a,
.main-menu .dropdown-menu li a {
    display: block;
    padding: 8px 20px;
    font-size: 14px;
    color: var(--zestify-heading-color);
    transition: var(--zestify-transition);
}
.main-menu .sub-menu li a:hover,
.main-menu .dropdown-menu li a:hover {
    color: var(--zestify-primary); padding-left: 25px;
}

.main-menu-right {
    display: flex; align-items: center; gap: 15px; margin-left: 20px;
    position: relative;
    z-index: 1;
}
.menu-right-list {
    display: flex; align-items: center; gap: 12px; list-style: none; margin: 0; padding: 0;
}

.cart-wrapper { position: relative; }
.cart-icon-wrap {
    position: relative;
    background: none; border: none; cursor: pointer;
    font-size: 18px;
    color: var(--zestify-white);
    padding: 0;
    line-height: 1;
}

/* Cart / Search Circular Button */
.header-cart, .header-search-toggle {
    color: var(--zestify-white);
    background: var(--zestify-primary);
    display: inline-block;
    width: 40px;
    height: 40px;
    text-align: center;
    cursor: pointer;
    line-height: 2.25;
    padding: 0;
    border-radius: 6.25rem;
    border: 1px solid transparent;
}
.cart-icon-wrap span {
    position: absolute; top: -5px; right: -8px;
    background: var(--zestify-primary); color: #fff;
    font-size: 11px; width: 18px; height: 18px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    line-height: 1;
}

.header-search-popup {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(33,68,98,0.95);
    z-index: 9999;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden;
    transition: all 0.5s ease-in-out;
}
.header-search-popup.active { opacity: 1; visibility: visible; }

.header-search-flex {
    width: 600px; max-width: 90%; position: relative;
}
.header-search-field {
    width: 100%; background: transparent; border: none;
    border-bottom: 2px solid #fff;
    color: #fff; font-size: 24px; padding: 10px 0; outline: none;
}
.header-search-field::placeholder { color: rgba(255,255,255,0.5); }

.search-submit {
    position: absolute; right: 0; top: 50%;
    transform: translateY(-50%);
    background: var(--zestify-primary); border: none;
    color: #fff; padding: 10px 20px; cursor: pointer;
    border-radius: 0 30px 30px 0;
}

.button-area .btn-primary { padding: 10px 25px; font-size: 14px; }

/* Shopping Cart Dropdown */
.shopping-cart {
    position: absolute; top: 100%; right: 0;
    width: 300px;
    background: var(--zestify-white);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    border-top: 3px solid var(--zestify-primary);
    z-index: 1000;
    opacity: 0; visibility: hidden;
    transform: translateY(10px);
    transition: var(--zestify-transition);
    padding: 15px;
}
.cart-wrapper:hover .shopping-cart { opacity: 1; visibility: visible; transform: translateY(0); }

/* Close Style (for search and mobile menu close) */
.close-style {
    position: absolute;
    top: 0;
    right: -45px;
    margin: 0 auto;
    display: block;
    width: 45px;
    height: 44px;
    border-radius: 0;
    border: 2px solid var(--zestify-primary);
    background: var(--zestify-white);
    z-index: 9;
    cursor: pointer;
}
.close-style:before, .close-style:after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    margin: auto;
    width: 25px;
    height: 4px;
    background: var(--zestify-secondary-dark);
    transform-origin: 50% 50%;
    transition: var(--zestify-transition);
}
.close-style:before { transform: rotate(-45deg); }
.close-style:after { transform: rotate(45deg); }
.close-style:hover:before, .close-style:hover:after {
    background: var(--zestify-primary);
}

.header-search-close {
    position: absolute;
    top: -60px;
    right: 0;
}

/* Mobile Nav */
.main-mobile-nav { display: none; }
.main-mobile-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    min-height: 70px;
    position: relative;
    gap: 10px;
}
.mobile-logo {
    flex: 1;
    min-width: 0;
}
.mobile-logo .logo h4 { font-size: 1.4rem; font-weight: 800; color: var(--zestify-secondary-dark); margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-logo .logo img { max-height: 40px; width: auto; }

/* Mobile Right Icons */
.mobile-right-icons {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.mobile-search-toggle, .mobile-cart-icon {
    color: var(--zestify-white);
    background: var(--zestify-primary);
    display: inline-block;
    width: 40px;
    height: 40px;
    text-align: center;
    cursor: pointer;
    line-height: 2.25;
    padding: 0;
    border-radius: 6.25rem;
    border: 1px solid transparent;
    font-size: 16px;
}
.mobile-cart-icon { position: relative; }
.mobile-cart-icon .cart-count {
    position: absolute; top: -5px; right: -8px;
    background: var(--zestify-secondary-dark); color: #fff;
    font-size: 10px; width: 18px; height: 18px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}

/* Hamburger Menu */
.hamburger-menu {
    width: 40px;
    height: 40px;
    vertical-align: middle;
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0;
}
.menu-collapsed {
    width: inherit;
    height: inherit;
    display: block;
    padding: .55em .47em .7em;
    position: relative;
    z-index: 1;
    border: 2px solid var(--zestify-primary);
    background-color: var(--zestify-primary);
    cursor: pointer;
}
.menu-collapsed:hover,
.menu-collapsed:focus {
    background-color: var(--zestify-white);
    border-color: var(--zestify-primary);
}
.menu-collapsed:hover div,
.menu-collapsed:focus div {
    background-color: var(--zestify-primary);
}
.hamburger-menu div {
    height: 3px;
    width: 100%;
    margin: 0 0 5px;
    background: var(--zestify-white);
}
.hamburger-menu div:first-child { margin-top: 0; }
.hamburger-menu div:last-child { margin-bottom: 0; }
.hamburger-menu .top-bun,
.hamburger-menu .meat,
.hamburger-menu .bottom-bun {
    width: 100%;
}

/* Mobile Menu Wrapper */
.main-mobile-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    transition: all 600ms cubic-bezier(.6,.1,.68,.53) 400ms;
}
.main-mobile-wrapper.active {
    opacity: 1;
    visibility: visible;
    z-index: 999;
}

.main-mobile-build {
    position: absolute;
    top: -200%;
    left: 0;
    right: 0;
    z-index: 0;
    width: 100%;
    max-width: 500px;
    height: auto;
    padding: 0;
    margin: auto;
    text-align: left;
    background: var(--zestify-white);
    box-shadow: 0 0 20px rgba(0,0,0,0.4);
    transition: top 600ms cubic-bezier(.6,.1,.68,.53) 0ms;
}
.main-mobile-wrapper.active .main-mobile-build {
    top: 100%;
}

.main-mobile-build ul { list-style: none; padding: 0; margin: 0; }
.main-mobile-build ul li {
    border-bottom: 1px solid #e0e0e0;
    margin: 0;
}
.main-mobile-build ul li a {
    display: block;
    padding: 12px 15px;
    font-size: 15px; font-weight: 600;
    color: var(--zestify-heading-color);
}
.main-mobile-build ul li a:hover { color: var(--zestify-primary); }
.main-mobile-build .sub-menu,
.main-mobile-build .dropdown-menu {
    display: none;
    padding-left: 0;
    list-style: none; margin: 0;
    width: 100%;
    float: none;
    clear: both;
    background: none;
    border-top: 1px solid #e0e0e0;
    border-radius: 0;
    box-shadow: none;
}
.main-mobile-build .sub-menu li:last-child,
.main-mobile-build .dropdown-menu li:last-child { border-bottom: none; }
.main-mobile-build .sub-menu li a,
.main-mobile-build .dropdown-menu li a {
    padding-left: 25px;
}

.submenu-toggle {
    position: absolute;
    right: 0;
    top: 0;
    padding: 12px 15px;
    cursor: pointer;
}

.mobile-collapsed { display: inline-block; }
.main-mobile-menu ul.main-menu li.menu-item-has-children {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.main-mobile-menu ul.main-menu > li a {
    width: 100%;
    padding: 0;
    padding-left: 15px;
}
.main-mobile-menu ul.main-menu {
    height: 100%;
    max-height: 22.5rem;
    overflow-x: hidden;
    overflow-y: overlay;
}
.main-mobile-menu ul.main-menu > li:first-child { border-top: 1px solid #e0e0e0; }
.main-mobile-menu ul.main-menu > li { border-bottom: 1px solid #e0e0e0; }
.main-mobile-menu ul.main-menu .menu-item-has-children > a {
    flex: 1;
}

.main-mobile-wrapper .header-close-menu.close-style {
    right: auto;
    left: calc(100% + 2px);
    top: 0;
}

/* Mobile Overlay */
.mobile-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 998;
    display: none;
}
.mobile-overlay.active { display: block; }

/* Mobile Search Form */
.mobile-search-form {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--zestify-white);
    z-index: 9999;
    padding: 20px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    transform: translateY(-100%);
    transition: var(--zestify-transition);
}
.mobile-search-form.active { transform: translateY(0); }
.mobile-search-form form { display: flex; gap: 10px; }
.mobile-search-form input[type="search"] { flex: 1; }
.mobile-search-form button[type="submit"] {
    background: var(--zestify-primary);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 0;
    cursor: pointer;
}

.main-menu li.menu-item-has-children { position: relative; }
.main-menu li.menu-item-has-children > a:after {
    content: '\f107'; font-family: 'FontAwesome';
    margin-left: 5px; font-size: 12px;
}

/* fadeInDown Animation */
@keyframes fadeInDown {
    from { opacity: 0; transform: translate3d(0,-100%,0); }
    to { opacity: 1; transform: none; }
}

/* Breadcrumb ============================== */
.breadcrumb-area {
    position: relative;
    min-height: 300px;
    background-size: cover; background-position: center;
    display: flex; align-items: center; justify-content: center;
}
.breadcrumb-area::after {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #000; opacity: 0.45;
}
.breadcrumb-center { position: relative; z-index: 1; width: 100%; }
.breadcrumb-content { position: relative; z-index: 1; text-align: center; padding: 100px 0 60px; }
.breadcrumb-content h1 { color: var(--zestify-white); font-size: 2.5rem; margin-bottom: 10px; }

.breadcrumb-trail {
    display: flex; align-items: center; justify-content: center;
    gap: 8px; font-size: 14px; color: rgba(255,255,255,0.8);
}
.breadcrumb-trail a { color: rgba(255,255,255,0.8); }
.breadcrumb-trail a:hover { color: var(--zestify-primary); }
.breadcrumb-trail .separator { margin: 0 5px; }

/* Page Content ============================ */
.flixita-theme-data { min-height: 400px; }
.page-content-area { padding: 60px 0; }

.page-with-sidebar { display: flex; flex-wrap: wrap; gap: 30px; }
.page-with-sidebar .primary-content { flex: 1; min-width: 0; }
.page-with-sidebar .sidebar-content { width: 300px; flex-shrink: 0; }
.page-with-sidebar.left-sidebar { flex-direction: row-reverse; }

/* Blog =================================== */
.blog-posts { display: grid; gap: 30px; }
.blog-posts.grid-2 { grid-template-columns: repeat(2, 1fr); }
.blog-posts.grid-3 { grid-template-columns: repeat(3, 1fr); }
.blog-posts.list-view { grid-template-columns: 1fr; }

.blog-inner {
    background: var(--zestify-white);
    border-radius: var(--zestify-radius);
    box-shadow: var(--zestify-shadow);
    overflow: hidden;
    transition: var(--zestify-transition-slow);
    height: 100%;
}
.blog-inner:hover { transform: translateY(-5px); box-shadow: var(--zestify-shadow-hover); }
.blog-inner .post-thumb img { width: 100%; display: block; }
.blog-inner .post-details-outer { padding: 25px; }
.blog-inner .top-meta-list {
    display: flex; justify-content: flex-end;
    list-style: none; margin: 0 0 10px; padding: 0;
}
.blog-inner .post-date a {
    display: inline-flex; align-items: center; gap: 5px;
    background: var(--zestify-primary);
    color: var(--zestify-white);
    padding: 3px 12px;
    border-radius: 50px;
    font-size: 13px;
    text-decoration: none;
}
.blog-inner .post-date a i { font-size: 12px; }
.blog-inner .post-date a span { font-weight: 700; }
.blog-inner .bottom-meta-list {
    display: flex; align-items: center; gap: 20px;
    list-style: none; margin: 0 0 15px; padding: 0;
}
.blog-inner .post-author a {
    display: flex; align-items: center; gap: 8px;
    color: #666; font-size: 13px; text-decoration: none;
}
.blog-inner .post-author .author-img img {
    width: 30px; height: 30px; border-radius: 50%;
}
.blog-inner .post-author .author-name { font-weight: 500; }
.blog-inner .post-comment a {
    color: #666; font-size: 13px; text-decoration: none;
    display: flex; align-items: center; gap: 5px;
}
.blog-inner .post-comment a:hover,
.blog-inner .post-author a:hover { color: var(--zestify-primary); }
.blog-inner .post-title-head { margin-bottom: 10px; }
.blog-inner .post-title {
    font-size: 1.2rem; font-weight: 700;
    margin: 0;
}
.blog-inner .post-title a { color: var(--zestify-heading-color); }
.blog-inner .post-title a:hover { color: var(--zestify-primary); }
.blog-inner .post-details-outer > p {
    color: #666; font-size: 14px;
    margin-bottom: 15px;
}
.blog-section { padding: 6.75rem 0; }
.blog-inner .more-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--zestify-primary);
    font-weight: 600; font-size: 14px;
    text-decoration: none;
    padding: 6px 18px;
    border-radius: 50px;
    border: 1px solid var(--zestify-primary);
    transition: var(--zestify-transition);
}
.blog-inner .more-link:hover {
    background: var(--zestify-primary);
    color: var(--zestify-white);
    text-decoration: none;
}

.post-item {
    background: var(--zestify-white);
    border-radius: var(--zestify-radius);
    overflow: hidden;
    box-shadow: var(--zestify-shadow);
    transition: var(--zestify-transition-slow);
}
.post-item:hover {
    box-shadow: var(--zestify-shadow-hover);
    transform: translateY(-5px);
}

.post-thumb { position: relative; overflow: hidden; }
.post-thumb img {
    width: 100%; height: 250px; object-fit: cover;
    transition: var(--zestify-transition-slow);
}
.post-item:hover .post-thumb img { transform: scale(1.08); }

.post-content { padding: 25px; }

.post-meta {
    display: flex; align-items: center; gap: 15px;
    font-size: 13px; color: #888; margin-bottom: 10px;
}
.post-meta i { margin-right: 4px; color: var(--zestify-primary); }

.post-content h3 { font-size: 1.25rem; margin-bottom: 10px; }
.post-content h3 a { color: var(--zestify-heading-color); }
.post-content h3 a:hover { color: var(--zestify-primary); }

.post-excerpt { color: #666; font-size: 14px; line-height: 1.7; }

.read-more {
    display: inline-flex; align-items: center; gap: 5px;
    color: var(--zestify-secondary); font-weight: 600; font-size: 14px; margin-top: 15px;
}
.read-more i { transition: var(--zestify-transition); rotate: -40deg; }
.read-more:hover { color: var(--zestify-primary); }
.read-more:hover i { rotate: 0deg; }

.blog-masonry { columns: 3; column-gap: 30px; }
.blog-masonry .post-item { break-inside: avoid; margin-bottom: 30px; }

/* Section Common ========================= */
.home-section { padding: 6.75rem 0; position: relative; }
.st-py-default { padding: 6.75rem 0; position: relative; }

.theme-main-heading {
    margin-bottom: 30px;
}
.theme-main-heading .title {
    color: var(--zestify-primary);
    position: relative;
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    font-weight: 700;
    z-index: 2;
    padding: 8px 20px;
    border-radius: 4px;
    border: 2px solid var(--zestify-primary);
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: var(--zestify-transition);
}
.theme-main-heading .title:before {
    background: var(--zestify-primary);
    content: "";
    width: 4px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 1;
    border-radius: 4px 0 0 4px;
}
.theme-main-heading h2 {
    position: relative;
    z-index: 0;
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 10px;
    transition: var(--zestify-transition);
}
.theme-main-heading h2 span.color-primary {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 2px var(--zestify-primary);
    font-weight: 800;
}
.theme-main-heading.theme-white-heading h2 span.color-primary {
    -webkit-text-fill-color: var(--zestify-primary);
    color: var(--zestify-primary);
}
.theme-main-heading p {
    margin-bottom: 0;
    font-weight: 500;
    font-size: 16px;
    color: var(--zestify-body-color);
    transition: var(--zestify-transition);
}
.theme-white-heading,
.theme-white-heading .title {
    color: var(--zestify-white);
}
.theme-white-heading .title:before {
    background: var(--zestify-white);
}
.theme-white-heading .title {
    border-color: var(--zestify-white);
}
.theme-white-heading p {
    color: rgba(255,255,255,0.8);
}
.color-primary {
    color: var(--zestify-primary);
}

.section-title-wrap {
    text-align: center; margin-bottom: 50px;
    max-width: 700px; margin-left: auto; margin-right: auto;
}
.section-subtitle {
    display: inline-block;
    font-size: 14px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 2px;
    color: var(--zestify-primary);
    margin-bottom: 10px;
    position: relative;
}
.section-title {
    font-size: 42px; font-weight: 800; line-height: 1.2;
    color: var(--zestify-secondary);
    margin-bottom: 15px;
}
.section-desc { color: #666; font-size: 15px; line-height: 1.7; }

/* Slider ================================= */
.home-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
}
.home-slider .swiper-slide {
    position: relative;
    overflow: hidden;
}
.home-slider .swiper-slide > img {
    width: 100%;
    height: 650px;
    object-fit: cover;
    display: block;
}
.home-slider .swiper {
    width: 100%;
    height: 650px;
    min-height: 650px;
}

.home-slider .main-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.home-slider .main-table {
    display: table;
    width: 100%;
    height: 100%;
}
.home-slider .main-table-cell {
    display: table-cell;
    vertical-align: middle;
}

/* Main Content (slider text overlay) */
.main-content {
    position: relative;
    max-width: 45rem;
    width: 100%;
    margin-top: 4rem;
    margin-bottom: 8rem;
}
.main-content.text-left { margin-right: auto; }
.main-content.text-center { margin: auto; }
.main-content.text-right { margin-left: auto; }
.main-content h4 {
    display: inline-block;
    margin-bottom: 1rem;
    position: relative;
    font-weight: 600;
    border: 4px solid var(--zestify-white);
    padding: 5px 10px;
    border-radius: 5px;
    color: var(--zestify-white);
}
.main-content h4 .stdot {
    display: none;
}
.main-content h1 {
    font-size: 4.5rem;
    margin-bottom: 1rem;
    color: var(--zestify-white);
    line-height: 1.1;
}
.main-content h1 .primary { color: var(--zestify-primary); }
.main-content p {
    font-weight: 400;
    font-size: 1.125rem;
    margin-bottom: 1.75rem;
    color: rgba(255,255,255,0.85);
}
.main-content .btn:not(.btn-play) {
    margin-right: 1.12rem;
}

/* Swiper Navigation */
.home-slider .slider-nav {
    width: 50px; height: 50px;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(5px);
    border-radius: 50%; color: #fff;
    transition: var(--zestify-transition);
}
.home-slider .slider-nav:after { font-size: 20px; font-weight: bold; }
.home-slider .slider-nav:hover { background: var(--zestify-primary); }
.home-slider .swiper-pagination-bullet {
    width: 12px; height: 12px;
    background: rgba(255,255,255,0.5); opacity: 1;
}
.home-slider .swiper-pagination-bullet-active {
    background: var(--zestify-primary); width: 30px; border-radius: 10px;
}

/* Marquee Section ============================ */

/* Services =============================== */
.service-section {
    position: relative;
    background: var(--zestify-light);
    overflow: hidden;
}

.service-inner {
    background-color: var(--zestify-white);
    border-radius: var(--zestify-radius);
    box-shadow: var(--zestify-shadow);
    overflow: hidden;
    transition: var(--zestify-transition-slow);
    height: 100%;
    position: relative;
    z-index: 1;
}
.service-inner:hover {
    transform: translateY(-10px);
    box-shadow: var(--zestify-shadow-hover);
}
.service-img { position: relative; overflow: hidden; }
.service-img img { width: 100%; display: block; transition: transform 0.5s ease; }
.service-inner:hover .service-img img { transform: scale(1.1); }
.service-content { padding: 25px; position: relative; text-align: center; }
.service_page_item_top {
    margin-bottom: 12px;
}
.service-title { font-size: 1.25rem; font-weight: 700; margin: 0 0 8px; }
.service-title a { color: var(--zestify-heading-color); }
.service-title a:hover { color: var(--zestify-primary); }

.fbox-number {
    font-size: 42px; font-weight: 800;
    color: transparent;
    -webkit-text-stroke: 2px rgba(0,0,0,0.08);
    line-height: 1;
    transition: var(--zestify-transition);
}
.service-inner:hover .fbox-number {
    -webkit-text-stroke-color: var(--zestify-primary);
}
.service-excerpt { color: #666; font-size: 14px; line-height: 1.7; }
.service-excerpt p { margin: 0; }
.service_page_item_bottom {
    display: flex; justify-content: center; align-items: center; gap: 12px;
    margin-top: 18px;
}
.service-icon-img-wrap i {
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    background: var(--zestify-primary-light);
    border-radius: 50%;
    color: var(--zestify-primary);
    font-size: 18px;
    transition: var(--zestify-transition);
}
.service-inner:hover .service-icon-img-wrap i {
    background: var(--zestify-primary);
    color: var(--zestify-white);
}

/* Service Style 2 */
.service-section-2 {
    background-size: cover; background-position: center;
    background-attachment: fixed; position: relative;
    overflow: hidden; z-index: 1;
}
.service-section-2::after {
    content: ''; position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: #000000; opacity: 0.7;
    z-index: -1;
}
.service-section-2 .container { position: relative; z-index: 1; }

.service-02-container {
    background: var(--zestify-white);
    transition: background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s);
    position: relative;
    padding: 35px 30px 40px;
    margin-bottom: 30px;
    box-shadow: 0 13px 22px rgb(214 214 214 / 22%);
    overflow: hidden;
}
.service-02-container:before {
    content: "";
    width: 60px;
    height: 8px;
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 0;
    transition: all .3s;
    left: 0;
    z-index: 1;
    background: linear-gradient(-150deg,var(--zestify-primary) 5%,var(--zestify-primary) 95%);
    border-radius: 0;
}
.service-02-container .service-02-inner:before {
    position: absolute;
    content: '';
    background: var(--zestify-secondary);
    width: 100%;
    height: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transition: .8s ease;
}
.service-02-inner .service-02-icon {
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
}
.service-02-icon a { color: var(--zestify-primary); }
.service-02-icon .fa {
    max-width: 70px;
    height: auto;
    vertical-align: middle;
    border: 0;
    display: block;
    font-size: 70px;
    color: var(--zestify-primary);
}
.service-02-inner h4.service-02-title { margin-bottom: 0; }
.service-02-inner h4.service-02-title a {
    color: var(--zestify-heading-color);
    transition: all .3s;
}
.service-02-inner .service-02-content {
    color: var(--zestify-body-color);
}
.service-02-inner .service-02-btn {
    position: absolute;
    top: 15px;
    right: 35px;
    opacity: 0;
    transition: all .3s;
    margin: auto;
    padding: 0;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .5px;
    width: 60px;
    height: 60px;
    border-radius: 62% 38% 26% 74% / 35% 51% 49% 65%;
    font-size: 0;
    background: var(--zestify-primary);
}
.service-02-inner .service-02-btn a.service-02-button:after {
    content: "\f104";
    font-family: FontAwesome;
    color: var(--zestify-white);
    font-weight: 900;
    font-size: 30px;
    line-height: 60px;
    position: absolute;
    right: 0;
    left: 22px;
    transition: all .3s;
}
a.service-02-button { position: relative; }
.service-02-inner .fbox-number {
    position: absolute;
    font-size: 40px;
    line-height: 60px;
    top: 30px;
    opacity: 1;
    right: 15px;
    font-weight: 900;
    z-index: 2;
    transition: all .3s;
    color: var(--zestify-white);
    -webkit-text-stroke: 0;
}
.service-02-inner .fbox-number:before {
    background: var(--zestify-primary);
    content: "";
    position: absolute;
    left: -20px;
    top: 0;
    bottom: 0;
    right: 0;
    transform: skew(-19deg);
    z-index: -1;
    width: 150px;
    border: solid 5px var(--zestify-white);
}
.service-02-inner >*:last-child { margin-bottom: 0; }
.service-02-container:hover:before {
    width: 100%;
    opacity: 1;
    border-radius: 0;
    transition: all .3s;
}
.service-02-container:hover .service-02-inner:before {
    height: 100%;
    top: 0;
    transition: .8s ease;
}
.service-02-container:hover .service-02-btn {
    top: 35px;
    opacity: 1;
    transition: all .3s;
}
.service-02-container:hover .fbox-number {
    opacity: 0;
    transition: all .3s;
}
.service-02-container:hover .service-02-btn:hover {
    background: var(--zestify-heading-color)!important;
}
.service-02-container:hover .service-02-inner h4.service-02-title a {
    color: var(--zestify-white);
    position: relative;
}
.service-02-container:hover .service-02-inner .service-02-content {
    color: var(--zestify-white);
    position: relative;
}

/* Info Section =========================== */
.info-section { padding: 6.75rem 0; }
.info-wrapper { counter-reset: info-counter; }
.info-inner {
    position: relative; overflow: hidden;
    background-color: var(--zestify-white);
    border-radius: var(--zestify-radius);
    box-shadow: var(--zestify-shadow);
    transition: var(--zestify-transition-slow);
}
.info-inner::before {
    content: ""; width: 100%; height: 0%;
    position: absolute; left: 0; bottom: 0;
    background-color: var(--zestify-secondary);
    transition: all 500ms ease;
}
.info-inner:hover::before { height: 100%; top: 0; }

.info-inner .feature-img { position: relative; z-index: 1; overflow: hidden; }
.info-inner .feature-img img { width: 100%; display: block; transition: 500ms; }
.info-inner:hover .feature-img img { transform: scale(1.1); }

.info-inner .feature-content {
    padding: 35px 20px 30px; position: relative; z-index: 1;
    transition: all 500ms ease;
}

.feature-icon-box {
    width: 73px; height: 73px;
    display: flex; align-items: center; justify-content: center;
    position: absolute; top: -40px; right: 21px;
    border-radius: 10px;
    background-color: var(--zestify-secondary);
    border: 4px solid var(--zestify-white);
    transition: var(--zestify-transition-slow);
}
.feature-icon { display: inline-flex; font-size: 36px; color: var(--zestify-white); }
.feature-icon-box::after {
    content: ""; width: 0; height: 0;
    position: absolute; top: 0; left: 50%; transform: translateX(-50%);
    background-color: var(--zestify-primary);
    border-radius: 0; z-index: -1;
    transition: all 500ms ease;
}
.info-inner:hover .feature-icon-box::after { width: 100%; height: 100%; }

.feature-box-title { margin-bottom: 13px; font-size: 22px; font-weight: 700; }
.feature-box-title a {
    color: var(--zestify-secondary); text-decoration: none;
    background: linear-gradient(to right, currentcolor 0%, currentcolor 100%) 0px 95% / 0px 1px no-repeat;
    transition: all 500ms ease;
}
.feature-box-title a:hover { letter-spacing: 0.03rem; background-size: 90% 2px; }
.info-inner .fbox-content { color: #666; }
.info-inner:hover .feature-box-title a,
.info-inner:hover .fbox-content { color: var(--zestify-white); }

/* CTA Section ============================ */
.flixita-call-action-section {
    padding: 60px 0; position: relative;
    background-color: var(--zestify-primary);
    overflow: hidden;
}
.call-content { position: relative; z-index: 1; }
.call-content .title {
    color: var(--zestify-white); font-size: 1.8rem; margin: 0 0 5px;
}
.call-content .description {
    color: rgba(255,255,255,0.85); font-weight: 400; margin: 0 0 20px;
}
.call-wrap { display: flex; gap: 30px; flex-wrap: wrap; }
.call-details1, .call-details2 { display: flex; align-items: center; gap: 15px; }
.call-icon i { font-size: 30px; color: var(--zestify-white); }
.call-title { margin: 0; font-size: 1.1rem; }
.call-title a { color: var(--zestify-white); text-decoration: none; }
.cta-image { text-align: right; }
.cta-image img { max-width: 100%; }

.flixita-call-action-section-2 {
    padding: 60px 0;
    background-color: var(--zestify-secondary-dark);
    position: relative;
}
.flixita-cta-2-wrap {
    padding: 60px;
    border-radius: var(--zestify-radius);
    background-size: cover; background-position: center;
}
.flixita-cta-2-item { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 30px; }
.flixita-cta-2-text span {
    color: var(--zestify-primary); font-weight: 600; font-size: 14px;
    text-transform: uppercase; letter-spacing: 2px;
}
.flixita-cta-2-text h2 { color: var(--zestify-white); font-size: 2rem; margin: 5px 0 0; }

/* Features =============================== */
.features-section {
    position: relative;
    background-size: cover; background-position: center;
    background-attachment: fixed;
}
.features-section::before {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.7); background-blend-mode: multiply;
}
.features-section .container { position: relative; z-index: 1; }

.features-wrap {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--zestify-radius);
    padding: 30px 15px;
    transition: var(--zestify-transition-slow);
    height: 100%;
}
.features-wrap:hover {
    background: var(--zestify-primary);
    transform: translateY(-8px);
}
.features-wrap:hover .fx-feature-icon i { color: var(--zestify-white); }
.features-wrap a { text-decoration: none; }
.fx-feature-city {
    display: inline-block;
    background: var(--zestify-primary);
    color: var(--zestify-white);
    padding: 2px 12px;
    border-radius: 50px;
    font-size: 12px;
    margin-bottom: 15px;
}
.fx-feature-icon i { font-size: 40px; color: var(--zestify-primary); transition: var(--zestify-transition); }
.fx-feature-caption h4 { color: var(--zestify-white); font-size: 1.1rem; }
.fx-feature-caption span { color: rgba(255,255,255,0.7); font-size: 13px; }

/* Portfolio & Pricing Tabs ============= */
.flixita-project-section { padding: 6.75rem 0; position: relative; }
.fx-filter-tabs-start .fx-filter-tabs {
    display: flex; justify-content: center;
    gap: 8px; margin-bottom: 35px; flex-wrap: wrap;
}
.fx-filter-tabs-start .fx-filter-tabs a {
    padding: 10px 24px;
    border: 1px solid var(--zestify-border-color);
    background: var(--zestify-white);
    cursor: pointer; border-radius: 50px;
    font-size: 14px; font-weight: 600;
    transition: var(--zestify-transition);
    color: var(--zestify-heading-color);
    text-decoration: none;
    display: inline-block;
}
.fx-filter-tabs-start .fx-filter-tabs a.active,
.fx-filter-tabs-start .fx-filter-tabs a.is-active,
.fx-filter-tabs-start .fx-filter-tabs a:hover {
    background: var(--zestify-primary);
    color: var(--zestify-white);
    border-color: var(--zestify-primary);
    box-shadow: 0 5px 20px rgba(225,28,9,0.3);
}
.flixita-project-section .fx-filter-tabs {
    display: flex; justify-content: center;
    gap: 8px; margin-bottom: 35px; flex-wrap: wrap;
}
.flixita-project-section .fx-filter-tabs a {
    padding: 10px 24px;
    border: 1px solid var(--zestify-border-color);
    background: var(--zestify-white);
    cursor: pointer; border-radius: 50px;
    font-size: 14px; font-weight: 600;
    transition: var(--zestify-transition);
    color: var(--zestify-heading-color);
    text-decoration: none;
    display: inline-block;
}
.flixita-project-section .fx-filter-tabs a.active,
.flixita-project-section .fx-filter-tabs a.is-active,
.flixita-project-section .fx-filter-tabs a:hover {
    background: var(--zestify-primary);
    color: var(--zestify-white);
    border-color: var(--zestify-primary);
    box-shadow: 0 5px 20px rgba(225,28,9,0.3);
}

.project-inner {
    position: relative;
    overflow: hidden;
    border-radius: var(--zestify-radius);
}
.project-inner .post-thumb {
    position: relative;
    overflow: hidden;
}
.project-inner .post-thumb img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.project-inner:hover .post-thumb img { transform: scale(1.1); }

.post-overlay-items {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(14,21,49,0.9) 0%, rgba(14,21,49,0.1) 100%);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    opacity: 0;
    transition: var(--zestify-transition-slow);
    padding: 25px;
}
.project-inner:hover .post-overlay-items { opacity: 1; }
.post-overlay-items .post-category { margin-bottom: 8px; }
.post-overlay-items .post-category a {
    color: var(--zestify-primary);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.post-overlay-items .entry-title .post-title-head h5 { margin: 0; }
.post-overlay-items .entry-title .post-title-head a {
    color: var(--zestify-white);
    font-size: 1.2rem;
    font-weight: 700;
}
.post-overlay-items .entry-title .post-title-head a:hover { color: var(--zestify-primary); }
.post-overlay-items .post-more { margin-top: 12px; }
.post-overlay-items .post-more .read-more {
    color: var(--zestify-white);
    background: var(--zestify-primary);
    padding: 6px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    display: inline-block;
    text-decoration: none;
    transition: var(--zestify-transition);
}
.post-overlay-items .post-more .read-more:hover {
    background: var(--zestify-white);
    color: var(--zestify-primary);
}

.portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.portfolio-item { position: relative; overflow: hidden; border-radius: var(--zestify-radius); }
.portfolio-item img { width: 100%; height: 300px; object-fit: cover; transition: var(--zestify-transition-slow); }
.portfolio-item:hover img { transform: scale(1.1); }

.portfolio-overlay {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, var(--zestify-secondary) 0%, transparent 100%);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    opacity: 0; transition: var(--zestify-transition-slow);
    padding: 20px;
}
.portfolio-item:hover .portfolio-overlay { opacity: 1; }
.portfolio-overlay h4 { color: var(--zestify-white); font-size: 1.2rem; margin-bottom: 5px; }
.portfolio-overlay p { color: rgba(255,255,255,0.85); font-size: 13px; margin-bottom: 15px; }
.portfolio-overlay .btn { padding: 8px 20px; font-size: 13px; }

/* Pricing ================================ */
.pricing-container { height: 100%; }
.pricing-single {
    background: var(--zestify-white);
    border-radius: var(--zestify-radius);
    box-shadow: var(--zestify-shadow);
    overflow: hidden;
    transition: var(--zestify-transition-slow);
    height: 100%;
    position: relative;
}
.pricing-single:hover { transform: translateY(-8px); box-shadow: var(--zestify-shadow-hover); }
.pricing-single.featured {
    box-shadow: 0 10px 40px rgba(225,28,9,0.2);
    border: 2px solid var(--zestify-primary);
    transform: scale(1.03);
    position: relative;
    z-index: 1;
}
.pricing-single.featured:hover {
    transform: scale(1.03) translateY(-8px);
    box-shadow: 0 20px 50px rgba(225,28,9,0.3);
}

.pricing-price {
    background: var(--zestify-primary);
    padding: 35px 30px; text-align: center; color: var(--zestify-white);
    position: relative;
    overflow: hidden;
}
.pricing-price::before {
    content: '';
    position: absolute;
    top: -30px; right: -30px;
    width: 120px; height: 120px;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
}
.pricing-price::after {
    content: '';
    position: absolute;
    bottom: -40px; left: -40px;
    width: 160px; height: 160px;
    background: rgba(255,255,255,0.05);
    border-radius: 50%;
}
.pricing-price .standard {
    font-size: 1rem; font-weight: 600; text-transform: uppercase;
    letter-spacing: 2px; margin-bottom: 10px; opacity: 0.9;
    position: relative; z-index: 1;
}
.pricing-price-duration { margin-bottom: 10px; position: relative; z-index: 1; }
.item-price { display: flex; align-items: center; justify-content: center; gap: 2px; }
.icon-dollar { font-size: 1.5rem; font-weight: 700; position: relative; top: -15px; }
.value-price div { display: flex; }
.value-price span {
    font-size: 3.5rem; font-weight: 800; line-height: 1;
    display: inline-block;
    transition: transform 0.35s cubic-bezier(.645,.045,.355,1);
}
.pricing-single:hover .value-price span {
    animation: priceJump 0.5s ease;
}
.duration { font-size: 0.9rem; opacity: 0.8; }
.pricing-title { font-size: 0.95rem; font-weight: 400; opacity: 0.85; margin: 0; position: relative; z-index: 1; }
.pricing-list { padding: 30px; position: relative; }
.pricing-feature { list-style: none; padding: 0; margin: 0 0 25px; }
.pricing-feature li {
    padding: 11px 0; border-bottom: 1px solid #f0f0f0;
    font-size: 14px; color: #555;
    display: flex; align-items: center; gap: 10px;
}
.pricing-feature li i {
    color: var(--zestify-primary);
    font-size: 12px;
    width: 20px; height: 20px;
    background: var(--zestify-primary-light);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pricing-button { text-align: center; }
.pricing-button .btn span { position: relative; z-index: 1; }

.fx-shape { position: absolute; bottom: 0; right: 0; }
.fx-square-shape {
    position: absolute;
    opacity: 0.05;
}
.fx-square-shape-1 {
    width: 80px; height: 80px;
    border: 3px solid var(--zestify-primary);
    bottom: -20px; right: -20px;
    transform: rotate(45deg);
}
.fx-square-shape-2 {
    width: 50px; height: 50px;
    background: var(--zestify-primary);
    bottom: 10px; right: 30px;
    transform: rotate(45deg);
}
.fx-square-shape-3 {
    width: 30px; height: 30px;
    border: 2px solid var(--zestify-primary);
    bottom: 40px; right: -10px;
    transform: rotate(45deg);
}
.fx-square-shape-4 {
    width: 20px; height: 20px;
    background: var(--zestify-primary);
    bottom: 60px; right: 70px;
    transform: rotate(45deg);
    opacity: 0.08;
}

.circle-shape1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.03;
    pointer-events: none;
    z-index: 0;
}
.circle-shape1 img {
    max-width: 600px;
    animation: spin 30s linear infinite;
}
.pricing-section { position: relative; overflow: hidden; }
.pricing-wrapper { position: relative; z-index: 1; }

/* Testimonial ============================ */
.testimonial-section {
    background: var(--zestify-secondary-dark);
    position: relative;
    overflow: hidden;
}
.testimonial-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23ffffff" fill-opacity="0.02" d="M0,96L48,112C96,128,192,160,288,186.7C384,213,480,235,576,213.3C672,192,768,128,864,128C960,128,1056,192,1152,208C1248,224,1344,192,1392,176L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>') no-repeat bottom;
    background-size: cover;
    pointer-events: none;
}

.testimonial-inner {
    text-align: center;
    padding: 45px 25px 35px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: var(--zestify-radius);
    transition: var(--zestify-transition);
    height: 100%;
}
.testimonial-inner:hover {
    background: rgba(255,255,255,0.08);
    transform: translateY(-5px);
}
.testimonial-image { margin-bottom: 20px; }
.testimonial-image img {
    width: 77px; height: 77px; border-radius: 50%;
    margin: 0 auto; object-fit: cover;
    border: 3px solid var(--zestify-primary);
    padding: 3px;
}
.testimonial-main { margin-bottom: 15px; }
.testimonial-main .testimonial-title {
    font-size: 1.1rem; color: var(--zestify-white);
    margin-bottom: 8px;
}
.testimonial-main .testimonial-description {
    color: rgba(255,255,255,0.65);
    font-size: 14px; line-height: 1.8;
}
.testimonial-holder { position: relative; padding-top: 15px; }
.testimonial-icon svg {
    fill: var(--zestify-primary);
    opacity: 0.15;
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: auto;
}
.testimonial-meta { margin-bottom: 8px; }
.testimonial-meta .testimonial-title { font-size: 1.05rem; margin: 0; }
.testimonial-meta .testimonial-title a { color: var(--zestify-white); text-decoration: none; }
.testimonial-meta .testimonial-title a:hover { color: var(--zestify-primary); }
.testimonial-position { font-size: 13px; color: var(--zestify-primary); font-weight: 500; }
.testimonial-star {
    display: flex;
    justify-content: center;
    gap: 3px;
    margin-bottom: 12px;
}
.testimonial-star a { color: #ffc107; font-size: 14px; }
.testimonial-star.five-star a { color: #ffc107; }
.testimonial-holder .testimonial-description {
    color: rgba(255,255,255,0.7);
    font-size: 14px; line-height: 1.8;
    max-width: 550px;
    margin: 0 auto;
}
.testimonial-pagination { position: relative; margin-top: 35px; }
.testimonial-pagination .swiper-pagination-bullet {
    background: rgba(255,255,255,0.3);
    width: 10px; height: 10px;
    opacity: 1;
    transition: var(--zestify-transition);
}
.testimonial-pagination .swiper-pagination-bullet-active {
    background: var(--zestify-primary);
    width: 28px;
    border-radius: 10px;
}
.testimonial-author { display: flex; align-items: center; gap: 15px; }
.testimonial-avatar {
    width: 55px; height: 55px;
    border-radius: 50%; object-fit: cover;
    border: 3px solid var(--zestify-primary);
}
.testimonial-info h5 { color: var(--zestify-white); font-size: 1rem; margin-bottom: 3px; }
.testimonial-info span { color: var(--zestify-primary); font-size: 13px; }

/* Funfact ================================ */
.funfact-section {
    background-size: cover; background-position: center;
    background-attachment: fixed; position: relative;
}
.funfact-section::before {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6); background-blend-mode: overlay;
}
.funfact-section .container { position: relative; z-index: 1; }

.fun-counterup {
    position: relative; text-align: center;
    padding: 50px 20px 30px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--zestify-radius);
    transition: var(--zestify-transition);
    height: 100%;
    overflow: hidden;
}
.fun-counterup:hover { background: rgba(255,255,255,0.1); }
.top-circle-shape {
    position: absolute; top: -20px; left: 50%;
    transform: translateX(-50%);
    width: 40px; height: 40px;
    border-radius: 50%;
    background: var(--zestify-primary);
    opacity: 0.3;
}
.fun-round-icon {
    width: 70px; height: 70px;
    margin: 0 auto 15px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
}
.fun-round-icon i { font-size: 30px; color: var(--zestify-primary); }
.fun-counterup .content h3 {
    font-size: 40px; font-weight: 800;
    color: var(--zestify-white);
    margin-bottom: 5px;
    line-height: 1.1;
}
.fun-counterup .content .subtitle {
    color: rgba(255,255,255,0.8);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Timeline =============================== */
.timeline-section .timeline-wrapper { position: relative; padding: 40px 0; }
.timeline-wrapper::before {
    content: ''; position: absolute;
    top: 0; left: 50%; transform: translateX(-50%);
    width: 2px; height: 100%; background: var(--zestify-primary);
}
.timeline-item { display: flex; align-items: flex-start; margin-bottom: 50px; position: relative; }
.timeline-item:nth-child(odd) { flex-direction: row-reverse; text-align: right; }

.timeline-dot {
    position: absolute; left: 50%; transform: translateX(-50%);
    width: 20px; height: 20px; border-radius: 50%;
    background: var(--zestify-primary);
    border: 3px solid var(--zestify-white);
    box-shadow: 0 0 0 3px var(--zestify-primary);
    z-index: 1;
}
.timeline-content { width: 45%; background: var(--zestify-white); padding: 25px; border-radius: var(--zestify-radius); box-shadow: var(--zestify-shadow); }
.timeline-year { display: inline-block; background: var(--zestify-primary); color: var(--zestify-white); padding: 4px 15px; border-radius: 20px; font-size: 14px; font-weight: 600; margin-bottom: 10px; }
.timeline-content h4 { margin-bottom: 8px; }
.timeline-content p { color: #666; font-size: 14px; margin: 0; }

/* Newsletter ============================= */
.newsletter-section { background: var(--zestify-light); padding: 60px 0; }
.newsletter-form { display: flex; gap: 10px; max-width: 500px; margin: 30px auto 0; }
.newsletter-form input[type="email"] {
    flex: 1; padding: 14px 20px;
    border: 1px solid var(--zestify-border-color);
    border-radius: 50px; font-size: 15px; outline: none;
    transition: var(--zestify-transition);
}
.newsletter-form input[type="email"]:focus { border-color: var(--zestify-primary); }
.newsletter-form button { padding: 14px 30px; border-radius: 50px; }

/* Process ================================ */
.process-section {
    background-size: cover; background-position: center;
    background-attachment: fixed; position: relative;
}
.process-section::before {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.7); background-blend-mode: overlay;
}
.process-section .container { position: relative; z-index: 1; }

.process-wrapper { position: relative; z-index: 1; }
.process-item {
    text-align: center;
    padding: 35px 20px 30px;
    position: relative;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: var(--zestify-radius);
    transition: var(--zestify-transition);
    height: 100%;
}
.process-item:hover {
    background: rgba(255,255,255,0.08);
    transform: translateY(-5px);
}

.process-number {
    width: 70px; height: 70px;
    border-radius: 50%;
    background: var(--zestify-gradient);
    color: var(--zestify-white);
    font-size: 24px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 20px;
    box-shadow: 0 5px 20px rgba(225, 28, 9, 0.3);
    position: relative;
}
.process-item:hover .process-number {
    animation: pulse 1s ease infinite;
}
.process-item h4 { color: var(--zestify-white); font-size: 1.15rem; margin-bottom: 10px; font-weight: 700; }
.process-item p { color: rgba(255,255,255,0.75); font-size: 14px; margin: 0; line-height: 1.7; }

.process-item::after {
    content: '\f061';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);
    color: var(--zestify-primary);
    font-size: 20px;
    opacity: 0.5;
}
.process-wrapper .col-lg-3:last-child .process-item::after {
    display: none;
}

@media (max-width: 991px) {
    .process-item::after { display: none; }
}

/* FAQ ==================================== */
.faq-section .faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { margin-bottom: 15px; border: 1px solid var(--zestify-border-color); border-radius: var(--zestify-radius); overflow: hidden; }

.faq-question {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 25px; background: var(--zestify-white);
    cursor: pointer; font-weight: 600; font-size: 16px;
    color: var(--zestify-heading-color);
    transition: var(--zestify-transition);
    border: none; width: 100%; text-align: left;
}
.faq-question:hover, .faq-question.active { color: var(--zestify-primary); background: var(--zestify-light); }
.faq-question i { transition: transform var(--zestify-transition); font-size: 14px; }
.faq-question.active i { transform: rotate(180deg); }

.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.faq-answer-inner { padding: 0 25px 20px; color: #666; font-size: 15px; line-height: 1.7; }

/* Video ================================== */
.video-section .video-wrapper { display: flex; flex-wrap: wrap; gap: 40px; align-items: center; }
.video-thumb { flex: 1; min-width: 300px; position: relative; border-radius: var(--zestify-radius); overflow: hidden; }
.video-thumb > img { width: 100%; display: block; }

.video-play-btn {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 80px; height: 80px;
    background: var(--zestify-primary); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 30px; cursor: pointer;
    border: none;
    box-shadow: 0 0 0 15px rgba(225,28,9,0.25);
    transition: var(--zestify-transition);
}
.video-play-btn:hover { transform: translate(-50%, -50%) scale(1.1); background: var(--zestify-secondary); }

.video-content { flex: 1; min-width: 300px; }

.progress-bar-wrap { margin-bottom: 20px; }
.progress-bar-wrap h5 { display: flex; justify-content: space-between; font-size: 15px; margin-bottom: 8px; }
.progress-bar-track { height: 8px; background: #eee; border-radius: 5px; overflow: hidden; }
.progress-bar-fill { height: 100%; background: var(--zestify-gradient); border-radius: 5px; transition: width 1.5s ease; width: 0; }

/* Sponsor ================================ */
/* Sponsor Section */
.flixita-sponsor-section { padding: 60px 0; }
.single-partner { text-align: center; padding: 20px; }
.inner-partner a { display: block; }
.inner-partner img { max-height: 60px; width: auto; opacity: 0.5; filter: grayscale(100%); transition: var(--zestify-transition); margin: 0 auto; }
.inner-partner a:hover img { opacity: 1; filter: grayscale(0); }

/* Countdown ============================== */
.countdown-section {
    background-size: cover; background-position: center;
    background-attachment: fixed; position: relative;
}
.countdown-section::before {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
}
.countdown-section .container { position: relative; z-index: 1; }

.countdown-grid { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }
.countdown-item { text-align: center; min-width: 120px; }
.countdown-value {
    font-size: 3.5rem; font-weight: 800;
    color: var(--zestify-white); line-height: 1.1;
    border: 2px solid rgba(255,255,255,0.2);
    padding: 20px; border-radius: var(--zestify-radius);
    margin-bottom: 10px;
}
.countdown-label { color: rgba(255,255,255,0.8); font-size: 14px; text-transform: uppercase; letter-spacing: 2px; }

/* Team =================================== */
.team-inner {
    background: var(--zestify-white);
    border-radius: var(--zestify-radius);
    overflow: hidden;
    box-shadow: var(--zestify-shadow);
    transition: var(--zestify-transition-slow);
    height: 100%;
}
.team-inner:hover { transform: translateY(-8px); box-shadow: var(--zestify-shadow-hover); }
.team-thumb { position: relative; overflow: hidden; }
.team-thumb img { width: 100%; transition: var(--zestify-transition-slow); display: block; }
.team-inner:hover .team-thumb img { transform: scale(1.08); }
.team-social {
    position: absolute; bottom: 0; left: 0; right: 0;
    display: flex; justify-content: center; gap: 8px; padding: 15px;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    transform: translateY(100%);
    transition: var(--zestify-transition);
}
.team-inner:hover .team-social { transform: translateY(0); }
.team-social a {
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    background: var(--zestify-primary); color: #fff;
    border-radius: 50%; font-size: 14px;
    transition: var(--zestify-transition);
}
.team-social a:hover { background: var(--zestify-white); color: var(--zestify-primary); }

.team-info { padding: 20px; }
.team-info h4 { font-size: 1.1rem; margin-bottom: 5px; }
.team-info span { color: var(--zestify-primary); font-size: 13px; display: block; margin-bottom: 10px; }
.team-info p { color: #666; font-size: 14px; margin: 0; }

/* Banner ================================= */
.banner-section .banner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.banner-item { position: relative; border-radius: var(--zestify-radius); overflow: hidden; height: 250px; }
.banner-item img { width: 100%; height: 100%; object-fit: cover; transition: var(--zestify-transition-slow); }
.banner-item:hover img { transform: scale(1.05); }

.banner-overlay {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.7), transparent);
    display: flex; flex-direction: column; justify-content: center; padding: 25px;
}
.banner-overlay h4 { color: var(--zestify-white); font-size: 1.3rem; margin-bottom: 5px; }
.banner-overlay p { color: rgba(255,255,255,0.8); margin-bottom: 15px; }

/* Gallery ================================ */
.gallery-section .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.gallery-item { position: relative; overflow: hidden; border-radius: var(--zestify-radius); cursor: pointer; margin: 0; }
.gallery-item .gallery-icon { position: relative; overflow: hidden; border-radius: var(--zestify-radius); }
.gallery-item .gallery-icon a.image { display: block; position: relative; }
.gallery-item .gallery-icon img { width: 100%; height: 250px; object-fit: cover; transition: var(--zestify-transition-slow); display: block; }
.gallery-item .gallery-icon:hover img { transform: scale(1.1); }

.gallery-caption {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(225,28,9,0.75);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: var(--zestify-transition);
}
.gallery-item .gallery-icon:hover .gallery-caption { opacity: 1; }
.gallery-caption i { color: var(--zestify-white); font-size: 30px; }

/* Lightbox ================================ */
.zestify-lightbox-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.9); z-index: 99999;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
}
.zestify-lightbox-overlay img {
    max-width: 90%; max-height: 90%;
    object-fit: contain; border-radius: 4px;
    box-shadow: 0 0 30px rgba(0,0,0,0.5);
}
.zestify-lightbox-close {
    position: absolute; top: 20px; right: 30px;
    color: #fff; font-size: 40px; font-weight: 700;
    cursor: pointer; transition: var(--zestify-transition);
    line-height: 1; z-index: 100000;
}
.zestify-lightbox-close:hover { color: var(--zestify-primary); }

/* Bubble animation (Services2) ===================== */
.bubble-wrapper {
    position: absolute; width: 100%; height: 100%;
}
.bubble-wrapper div {
    height: 60px;
    width: 60px;
    border: 2px solid var(--zestify-primary);
    border-radius: 50px;
    position: absolute;
    top: 10%;
    left: 10%;
    animation: 4s linear infinite;
}
.bubble-wrapper div .dot {
    height: 10px;
    width: 10px;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 20%;
    right: 20%;
}
.bubble-wrapper div:nth-child(1) { top: 20%; left: 20%; animation: animate 8s linear infinite; }
.bubble-wrapper div:nth-child(2) { top: 60%; left: 80%; animation: animate 10s linear infinite; }
.bubble-wrapper div:nth-child(3) { top: 40%; left: 40%; animation: animate 3s linear infinite; }
.bubble-wrapper div:nth-child(4) { top: 66%; left: 30%; animation: animate 7s linear infinite; }
.bubble-wrapper div:nth-child(5) { top: 90%; left: 10%; animation: animate 9s linear infinite; }
.bubble-wrapper div:nth-child(6) { top: 30%; left: 60%; animation: animate 5s linear infinite; }
.bubble-wrapper div:nth-child(7) { top: 70%; left: 20%; animation: animate 8s linear infinite; }
.bubble-wrapper div:nth-child(8) { top: 75%; left: 60%; animation: animate 10s linear infinite; }
.bubble-wrapper div:nth-child(9) { top: 50%; left: 50%; animation: animate 6s linear infinite; }
.bubble-wrapper div:nth-child(10) { top: 45%; left: 20%; animation: animate 10s linear infinite; }
.bubble-wrapper div:nth-child(11) { top: 10%; left: 90%; animation: animate 9s linear infinite; }
.bubble-wrapper div:nth-child(12) { top: 20%; left: 70%; animation: animate 7s linear infinite; }
.bubble-wrapper div:nth-child(13) { top: 20%; left: 20%; animation: animate 8s linear infinite; }
.bubble-wrapper div:nth-child(14) { top: 60%; left: 5%; animation: animate 6s linear infinite; }
.bubble-wrapper div:nth-child(15) { top: 90%; left: 80%; animation: animate 9s linear infinite; }
@keyframes animate {
    0% { transform: scale(0) translateY(0) rotate(70deg); }
    100% { transform: scale(1.3) translateY(-100px) rotate(360deg); }
}

/* Stars animation (Countdown) ===================== */
.countdown-section { position: relative; overflow: hidden; }
.countdown-section .container { position: relative; z-index: 1; }
.stars, .stars2, .stars3 {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none;
}
.stars {
    background: transparent url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzIiBoZWlnaHQ9IjMiIHZpZXdCb3g9IjAgMCAzIDMiPjxjaXJjbGUgY3g9IjEuNSIgY3k9IjEuNSIgcj0iMSIgZmlsbD0icmdiYSgyNTUsMjU1LDI1NSwwLjQpIi8+PC9zdmc+') repeat;
    animation: starMove 200s linear infinite;
}
.stars2 {
    background: transparent url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHZpZXdCb3g9IjAgMCAyIDIiPjxjaXJjbGUgY3g9IjEiIGN5PSIxIiByPSIxIiBmaWxsPSJyZ2JhKDI1NSwyNTUsMjU1LDAuMykiLz48L3N2Zz4=') repeat;
    animation: starMove 150s linear infinite;
}
.stars3 {
    background: transparent url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHZpZXdCb3g9IjAgMCA0IDQiPjxjaXJjbGUgY3g9IjIiIGN5PSIyIiByPSIxLjUiIGZpbGw9InJnYmEoMjU1LDI1NSwyNTUsMC4yKSIvPjwvc3ZnPg==') repeat;
    animation: starMove 250s linear infinite;
}
@keyframes starMove {
    0% { transform: translateY(0); }
    100% { transform: translateY(-2000px); }
}

/* Marquee ================================ */
.marquee-section {
    position: relative; padding: 12px 0;
    margin-top: 6.75rem; overflow: hidden;
}
.marquee-section::before {
    content: ""; position: absolute;
    left: 0; top: 50%;
    height: 90px; width: 100%;
    background-color: var(--zestify-primary);
    pointer-events: none;
    transform: translateY(-50%);
}
.marquee-box {
    position: relative;
    --duration: 30s; --gap: 0px;
    display: flex; overflow: hidden; user-select: none;
    gap: var(--gap);
    background: var(--zestify-white);
    padding: 30px 0;
    transform: rotate(-1.33deg);
    box-shadow: 0 10px 60px 0 rgba(171, 171, 171, 0.25);
}
.marquee-group {
    flex-shrink: 0; display: flex; align-items: center;
    gap: var(--gap); min-width: 100%;
    animation: scroll var(--duration) linear infinite;
}
.marquee-box .icon { margin-right: 20px; font-size: 35px; color: var(--zestify-primary); }
.marquee-box .text {
    color: var(--zestify-secondary); font-size: 35px;
    font-weight: 500; line-height: 1; padding-right: 105px;
}
@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-100% - var(--gap))); }
}

/* Footer ================================= */
.main-footer {
    background-color: var(--zestify-secondary-dark);
    padding-top: 60px;
    position: relative;
    overflow: hidden;
}
.main-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--zestify-gradient);
}

.footer-main { padding-bottom: 40px; }

.footer-widget-grid { position: relative; z-index: 1; }

.footer-widget {
    color: rgba(255,255,255,0.7);
    position: relative;
    z-index: 1;
}
.footer-widget .widget-title {
    color: var(--zestify-white);
    font-size: 1.2rem;
    padding-bottom: 15px;
    margin-bottom: 25px;
    position: relative;
    font-weight: 700;
}
.footer-widget .widget-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: var(--zestify-primary);
    border-radius: 3px;
}
.footer-widget .widget-title::before {
    content: '';
    position: absolute;
    left: 48px;
    bottom: 0;
    width: 10px;
    height: 3px;
    background: rgba(255,255,255,0.3);
    border-radius: 3px;
}
.footer-widget ul { margin: 0; padding: 0; list-style: none; }
.footer-widget ul li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.footer-widget ul li:last-child { border-bottom: none; }
.footer-widget ul li a {
    color: rgba(255,255,255,0.7);
    transition: var(--zestify-transition);
    display: inline-block;
    position: relative;
    padding-left: 0;
}
.footer-widget ul li a::before {
    content: '\f105';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: 8px;
    color: var(--zestify-primary);
    font-size: 12px;
    transition: var(--zestify-transition);
}
.footer-widget ul li a:hover {
    color: var(--zestify-primary);
    padding-left: 5px;
}
.footer-widget p { color: rgba(255,255,255,0.7); line-height: 1.8; }
.footer-widget a { color: rgba(255,255,255,0.7); }
.footer-widget a:hover { color: var(--zestify-primary); }
.footer-widget address { font-style: normal; line-height: 2; }
.footer-widget address i { margin-right: 10px; color: var(--zestify-primary); width: 16px; }

.above-footer {
    background: rgba(0,0,0,0.2);
    padding: 30px 0;
    position: relative;
    z-index: 1;
}
.above-footer .widget {
    background: transparent;
    box-shadow: none;
    padding: 0;
    margin: 0;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 18px 0;
    position: relative;
    z-index: 1;
}
.footer-bottom-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}
.footer-copyright {
    color: rgba(255,255,255,0.6);
    font-size: 14px;
}
.footer-copyright a {
    color: var(--zestify-primary);
    font-weight: 600;
}
.footer-copyright a:hover {
    color: var(--zestify-white);
}

.footer-social { display: flex; gap: 12px; }
.footer-social a {
    width: 38px; height: 38px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.15);
    color: rgba(255,255,255,0.6);
    transition: var(--zestify-transition);
    font-size: 15px;
}
.footer-social a:hover {
    background: var(--zestify-primary);
    border-color: var(--zestify-primary);
    color: var(--zestify-white);
    transform: translateY(-3px);
}

/* WooCommerce ============================ */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }
.woocommerce ul.products li.product { padding: 0; margin: 0; text-align: center; background: #fff; border-radius: var(--zestify-radius); overflow: hidden; box-shadow: var(--zestify-shadow); transition: var(--zestify-transition); }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--zestify-shadow-hover); }
.woocommerce ul.products li.product img { margin: 0; border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; padding: 15px 10px 5px; }
.woocommerce ul.products li.product .price { color: var(--zestify-primary); font-size: 1.1rem; font-weight: 700; }
.woocommerce ul.products li.product .button { border-radius: 50px; background: var(--zestify-gradient); color: #fff; padding: 8px 20px; font-size: 13px; }
.woocommerce ul.products li.product .button:hover { background: var(--zestify-secondary); }

/* WooCommerce sale badge */
.woocommerce span.onsale { min-width: 60px; min-height: 28px; line-height: 28px; font-size: 13px; font-weight: 700; background: var(--zestify-primary); border-radius: 4px; padding: 0 10px; margin: 10px; }

/* WooCommerce product image */
.woocommerce ul.products li.product .product-image-wrap { position: relative; overflow: hidden; }
.woocommerce ul.products li.product .product-image-wrap img { width: 100%; transition: transform 0.5s ease; }
.woocommerce ul.products li.product:hover .product-image-wrap img { transform: scale(1.08); }

/* WooCommerce star rating */
.woocommerce .star-rating { color: #ffb400; font-size: 0.85rem; margin: 8px auto; }
.woocommerce .star-rating span { color: #ffb400; }

/* WooCommerce price */
.woocommerce ul.products li.product .price { display: block; margin-bottom: 10px; }
.woocommerce ul.products li.product .price del { color: #999; font-size: 0.9rem; opacity: 0.7; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* WooCommerce result count & ordering */
.woocommerce .woocommerce-result-count { font-size: 14px; color: var(--zestify-body-color); margin-bottom: 20px; }
.woocommerce .woocommerce-ordering select { padding: 8px 15px; border: 1px solid var(--zestify-border-color); border-radius: var(--zestify-radius); font-size: 14px; background: var(--zestify-white); }

/* WooCommerce pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 40px; }
.woocommerce nav.woocommerce-pagination ul { border: none; }
.woocommerce nav.woocommerce-pagination ul li { border: none; margin: 0 3px; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border: 1px solid var(--zestify-border-color) !important;
    border-radius: var(--zestify-radius); font-size: 14px; font-weight: 600;
    color: var(--zestify-heading-color); background: transparent;
    transition: var(--zestify-transition);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--zestify-primary); color: var(--zestify-white); border-color: var(--zestify-primary) !important;
}

/* WooCommerce sidebar widgets */
.woocommerce-page-area .sidebar .widget { margin-bottom: 30px; padding: 25px; background: var(--zestify-white); border-radius: var(--zestify-radius); box-shadow: var(--zestify-shadow); }
.woocommerce-page-area .sidebar .widget-title { font-size: 1.1rem; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--zestify-primary); position: relative; }
.woocommerce-page-area .sidebar .widget-title:after { content: ""; position: absolute; bottom: -2px; left: 0; width: 40px; height: 2px; background: var(--zestify-primary); }
.woocommerce-page-area .sidebar .widget li { padding: 8px 0; border-bottom: 1px solid var(--zestify-border-color); font-size: 14px; }
.woocommerce-page-area .sidebar .widget li:last-child { border-bottom: none; }
.woocommerce-page-area .sidebar .widget li a { color: var(--zestify-body-color); transition: var(--zestify-transition); }
.woocommerce-page-area .sidebar .widget li a:hover { color: var(--zestify-primary); padding-left: 5px; }

/* WooCommerce price filter slider */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--zestify-border-color); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: var(--zestify-gradient); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--zestify-primary); border: 2px solid var(--zestify-white); width: 16px; height: 16px; top: -6px; }
.woocommerce .widget_price_filter .price_slider_amount .button { background: var(--zestify-gradient); color: var(--zestify-white); border-radius: 50px; font-size: 13px; padding: 8px 20px; transition: var(--zestify-transition); }
.woocommerce .widget_price_filter .price_slider_amount .button:hover { background: var(--zestify-secondary); }

/* WooCommerce product categories widget */
.widget_product_categories .product-categories li { position: relative; }
.widget_product_categories .product-categories li .count { float: right; background: var(--zestify-border-color); border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: var(--zestify-body-color); }

/* WooCommerce search widget */
.widget_product_search .woocommerce-product-search { display: flex; gap: 10px; }
.widget_product_search .woocommerce-product-search input[type="search"] { flex: 1; padding: 10px 15px; border: 1px solid var(--zestify-border-color); border-radius: 50px; font-size: 14px; outline: none; }
.widget_product_search .woocommerce-product-search input[type="search"]:focus { border-color: var(--zestify-primary); }
.widget_product_search .woocommerce-product-search button { padding: 10px 20px; background: var(--zestify-gradient); color: var(--zestify-white); border: none; border-radius: 50px; font-size: 14px; cursor: pointer; transition: var(--zestify-transition); }
.widget_product_search .woocommerce-product-search button:hover { background: var(--zestify-secondary); }

/* WooCommerce single product */
.woocommerce div.product .product_title { font-size: 1.8rem; margin-bottom: 15px; }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 15px; }
.woocommerce div.product p.price { font-size: 1.5rem; font-weight: 700; color: var(--zestify-primary); margin-bottom: 20px; }
.woocommerce div.product p.price del { color: #999; font-size: 1.1rem; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 25px; color: var(--zestify-body-color); }
.woocommerce div.product form.cart { margin-bottom: 25px; }
.woocommerce div.product form.cart .button { border-radius: 50px; background: var(--zestify-gradient); color: var(--zestify-white); padding: 12px 30px; font-weight: 600; transition: var(--zestify-transition); }
.woocommerce div.product form.cart .button:hover { background: var(--zestify-secondary); }
.woocommerce div.product .product_meta { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--zestify-border-color); font-size: 14px; }
.woocommerce div.product .product_meta span { display: block; margin-bottom: 5px; }
.woocommerce div.product .product_meta a { color: var(--zestify-primary); }

/* WooCommerce tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 25px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: none; background: var(--zestify-light); border-radius: var(--zestify-radius) var(--zestify-radius) 0 0; margin: 0 5px 0 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 25px; font-weight: 600; font-size: 15px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--zestify-white); border: 1px solid var(--zestify-border-color); border-bottom-color: var(--zestify-white); }
.woocommerce div.product .woocommerce-tabs .panel { background: var(--zestify-white); border: 1px solid var(--zestify-border-color); border-radius: var(--zestify-radius); padding: 30px; }

/* WooCommerce related products */
.woocommerce .related.products h2 { font-size: 1.5rem; margin-bottom: 25px; }

/* WooCommerce cart page */
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 1.3rem; margin-bottom: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { border-radius: 50px; padding: 15px 30px; font-size: 16px; background: var(--zestify-gradient); }

/* WooCommerce checkout */
.woocommerce-checkout .woocommerce h3 { font-size: 1.3rem; margin-bottom: 20px; }
.woocommerce-checkout #payment .place-order .button { border-radius: 50px; padding: 15px 30px; font-size: 16px; background: var(--zestify-gradient); }

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes priceJump {
    0% { transform: translateY(0); }
    30% { transform: translateY(-8px); }
    50% { transform: translateY(0); }
    70% { transform: translateY(-4px); }
    100% { transform: translateY(0); }
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

@keyframes float {
    0% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0); }
}

@keyframes tada {
    0% { transform: scale(1); }
    10%, 20% { transform: scale(0.9) rotate(-3deg); }
    30%, 50%, 70%, 90% { transform: scale(1.1) rotate(3deg); }
    40%, 60%, 80% { transform: scale(1.1) rotate(-3deg); }
    100% { transform: scale(1) rotate(0); }
}

/* Preloader handled by inline CSS in inc/preloader.php */
@keyframes bars {
    0%, 100% { height: 15px; }
    50% { height: 40px; }
}

@keyframes slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

@keyframes shineFullHover {
    100% { left: 150%; }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Back to Top ============================ */
.back-to-top {
    position: fixed; bottom: 30px; right: 30px;
    width: 45px; height: 45px;
    background: var(--zestify-gradient);
    color: var(--zestify-white);
    border: none; border-radius: 50%;
    font-size: 18px; cursor: pointer;
    opacity: 0; visibility: hidden;
    transition: var(--zestify-transition-slow);
    z-index: 999;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.back-to-top.visible { opacity: 1; visibility: visible; }
.back-to-top:hover { transform: translateY(-3px); box-shadow: 0 5px 20px rgba(0,0,0,0.3); }

/* 404 Page =============================== */
.error-404 { text-align: center; padding: 80px 0; }
.error-404 .error-code { font-size: 8rem; font-weight: 900; color: var(--zestify-primary); line-height: 1; margin-bottom: 0; }
.error-404 h2 { font-size: 1.5rem; margin-bottom: 15px; }
.error-404 p { color: #666; margin-bottom: 30px; }

/* Comments =============================== */
.comments-area { margin-top: 50px; }
.comments-title { font-size: 1.5rem; margin-bottom: 30px; }
.comment-list { list-style: none; padding: 0; }
.comment-item { display: flex; gap: 15px; padding: 20px 0; border-bottom: 1px solid #eee; }
.comment-avatar img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.comment-body h5 { margin-bottom: 5px; }
.comment-body .comment-date { font-size: 13px; color: #888; margin-bottom: 10px; }
.comment-body p { color: #555; font-size: 14px; }
.comment-respond { margin-top: 40px; }
.comment-respond h3 { margin-bottom: 20px; }

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%; padding: 12px 15px;
    border: 1px solid var(--zestify-border-color);
    border-radius: var(--zestify-radius);
    margin-bottom: 15px; font-size: 15px; outline: none;
    transition: var(--zestify-transition);
}
.comment-form input:focus, .comment-form textarea:focus { border-color: var(--zestify-primary); }
.comment-form textarea { min-height: 150px; resize: vertical; }

/* Forms ================================== */
input[type="text"], input[type="email"], input[type="url"],
input[type="tel"], input[type="search"], input[type="password"],
textarea, select {
    width: 100%; padding: 12px 15px;
    border: 1px solid var(--zestify-border-color);
    border-radius: var(--zestify-radius);
    font-size: 15px; font-family: inherit; outline: none;
    transition: var(--zestify-transition);
    background: var(--zestify-white);
}
input:focus, textarea:focus, select:focus {
    border-color: var(--zestify-primary);
    box-shadow: 0 0 0 3px var(--zestify-primary-light);
}

/* Pagination ============================= */
.pagination { display: flex; gap: 5px; margin-top: 40px; justify-content: center; }
.pagination a, .pagination span {
    display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px;
    border: 1px solid var(--zestify-border-color);
    border-radius: var(--zestify-radius);
    font-size: 14px; font-weight: 600;
    color: var(--zestify-heading-color);
    transition: var(--zestify-transition);
}
.pagination a:hover, .pagination span.current {
    background: var(--zestify-primary); color: var(--zestify-white); border-color: var(--zestify-primary);
}

/* Sidebar ================================ */
.sidebar .widget {
    border: none; background: #fdfdfd;
    padding: 30px; margin-bottom: 40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
    transition: var(--zestify-transition);
    border-radius: var(--zestify-radius);
}
.sidebar .widget:hover { box-shadow: 0 15px 45px rgba(0,0,0,0.07); }
.sidebar .widget-title {
    font-size: 1.4rem; position: relative;
    padding-bottom: 15px; margin-bottom: 25px;
    border-bottom: 1px solid #eee;
}
.sidebar .widget-title:after {
    content: ""; position: absolute; left: 0; bottom: -1px;
    width: 60px; height: 2px; background: var(--zestify-primary);
}
.sidebar .widget ul li {
    padding: 12px 0; border-bottom: 1px solid #f1f1f1;
    display: flex; align-items: center; gap: 10px;
}
.sidebar .widget ul li:before {
    content: "\f105"; font-family: "Font Awesome 6 Free";
    font-weight: 900; color: var(--zestify-primary); font-size: 12px;
}
.sidebar .widget ul li a { color: var(--zestify-heading-color); font-weight: 500; }
.sidebar .widget ul li a:hover { color: var(--zestify-primary); }

/* Single Post ============================ */
.single-post-wrapper { background: #fff; border-radius: var(--zestify-radius); overflow: hidden; box-shadow: var(--zestify-shadow); margin-bottom: 40px; }
.single-post-area .post-thumb img { width: 100%; height: auto; }
.single-post-area .post-content { padding: 40px; }
.single-post-area .post-title { font-size: 38px; font-weight: 800; margin: 15px 0 25px; color: var(--zestify-secondary); }
.entry-content p { font-size: 17px; line-height: 1.8; margin-bottom: 25px; color: #555; }
.post-footer-meta { padding: 20px 40px; border-top: 1px solid #eee; background: #fdfdfd; }
.post-tags .tag-label { font-weight: 700; color: var(--zestify-secondary); margin-right: 10px; }
.post-tags a { color: #777; background: #f1f1f1; padding: 5px 15px; border-radius: 20px; font-size: 14px; transition: var(--zestify-transition); }
.post-tags a:hover { background: var(--zestify-primary); color: #fff; }

/* Post Navigation */
.post-navigation-wrapper { margin-bottom: 40px; }
.post-navigation-wrapper .nav-links { display: flex; justify-content: space-between; gap: 20px; }
.nav-btn { background: #fff; padding: 25px; border-radius: var(--zestify-radius); box-shadow: var(--zestify-shadow); width: 48%; transition: var(--zestify-transition); }
.nav-btn:hover { transform: translateY(-5px); box-shadow: var(--zestify-shadow-hover); }
.nav-subtitle { display: block; font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--zestify-primary); margin-bottom: 10px; }
.nav-title { font-size: 18px; margin: 0; color: var(--zestify-secondary); }

.author-bio-box { display: flex; gap: 30px; background: #fff; padding: 40px; border-radius: var(--zestify-radius); box-shadow: var(--zestify-shadow); margin-bottom: 40px; }
.author-avatar img { border-radius: 50%; border: 5px solid #f1f1f1; }
.author-info h4 { font-size: 22px; margin-bottom: 10px; }
.author-info p { color: #666; margin-bottom: 15px; }

.comments-area { background: #fff; padding: 40px; border-radius: var(--zestify-radius); box-shadow: var(--zestify-shadow); }
.comments-title, .comment-reply-title { font-size: 26px; font-weight: 700; margin-bottom: 30px; color: var(--zestify-secondary); }
.comment-list { list-style: none; padding: 0; margin-bottom: 40px; }
.comment-body { display: flex; gap: 20px; margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #eee; }
.comment-meta { flex-grow: 1; }
.comment-author cite { font-style: normal; font-weight: 700; font-size: 18px; color: var(--zestify-secondary); }
.comment-metadata { font-size: 13px; color: #999; margin-bottom: 10px; }
.comment-content p { margin: 0; color: #555; }

/* Elementor ============================== */
.elementor-page .main-header { position: relative; }
.elementor-page .breadcrumb-area { display: none; }
.elementor-template-canvas .main-header,
.elementor-template-canvas .main-footer { display: none; }

/* Section Spacing Variants =============== */
.st-py-sm { padding: 3.75rem 0; position: relative; }
.st-py-md { padding: 5.25rem 0; position: relative; }
.st-py-lg { padding: 8.25rem 0; position: relative; }

/* Empty State ============================= */
.zestify-empty-state {
    text-align: center; padding: 60px 20px;
    background: var(--zestify-light); border-radius: var(--zestify-radius);
    max-width: 500px; margin: 0 auto;
}
.zestify-empty-state i {
    font-size: 48px; color: var(--zestify-primary); opacity: 0.4;
    margin-bottom: 15px; display: block;
}
.zestify-empty-state h4 { font-size: 1.2rem; margin-bottom: 8px; color: var(--zestify-heading-color); }
.zestify-empty-state p { font-size: 14px; color: #888; margin-bottom: 20px; }
.zestify-empty-state .btn { font-size: 14px; padding: 10px 24px; }

/* Portfolio No-Results =================== */
.fx-filter-no-results {
    text-align: center; padding: 40px 20px;
    color: #888; font-size: 15px; display: none;
}
.fx-filter-no-results.visible { display: block; }

/* Marquee Pause on Hover ================= */
.marquee-box:hover .marquee-group { animation-play-state: paused; }

/* Back to Top with Progress Ring ========= */
.back-to-top svg {
    position: absolute; top: -2px; left: -2px;
    width: 49px; height: 49px;
    transform: rotate(-90deg);
}
.back-to-top svg circle {
    fill: none; stroke: var(--zestify-white);
    stroke-width: 2; stroke-dasharray: 141.37; stroke-dashoffset: 141.37;
    transition: stroke-dashoffset 0.1s linear;
}
.back-to-top svg circle.progress-ring {
    stroke: var(--zestify-primary-dark);
    stroke-width: 3;
}

/* Team Social Animation ================== */
.team-social a {
    transform: translateY(20px); opacity: 0;
    transition: all 0.3s ease;
}
.team-social a:nth-child(1) { transition-delay: 0.05s; }
.team-social a:nth-child(2) { transition-delay: 0.1s; }
.team-social a:nth-child(3) { transition-delay: 0.15s; }
.team-social a:nth-child(4) { transition-delay: 0.2s; }
.team-inner:hover .team-social a {
    transform: translateY(0); opacity: 1;
}

/* Newsletter Form Loading ================ */
.newsletter-form button .spinner {
    display: none; width: 16px; height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff; border-radius: 50%;
    animation: zestify-spin 0.6s linear infinite;
    margin-right: 8px;
}
.newsletter-form button.loading .spinner { display: inline-block; }
.newsletter-form button.loading .btn-text { display: none; }

/* Dark Mode Prep ========================= */
@media (prefers-color-scheme: dark) {
    body.zestify-auto-dark { --zestify-body-bg: #1a1a2e; --zestify-body-color: #e0e0e0; --zestify-heading-color: #ffffff; --zestify-light: #16213e; --zestify-border-color: #2a2a4a; }
}
[data-theme="dark"] {
    --zestify-body-bg: #1a1a2e; --zestify-body-color: #e0e0e0;
    --zestify-heading-color: #ffffff; --zestify-light: #16213e;
    --zestify-border-color: #2a2a4a; --zestify-shadow: 0 10px 30px rgba(0,0,0,0.2);
    --zestify-shadow-hover: 0 20px 45px rgba(0,0,0,0.3);
}

/* Combined Features Responsive Fix ======= */
@media (min-width: 992px) {
    .features-wrapper .col-lg-2 { flex: 0 0 25%; max-width: 25%; }
}
@media (min-width: 1200px) {
    .features-wrapper .col-lg-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
}

/* Zestify Pro-Like Visual Polish ========= */

/* Full pill buttons */
.btn { border-radius: 6.25rem; }
.btn-primary {
    position: relative; overflow: hidden; z-index: 1;
}
.btn-primary::before {
    content: ""; position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    background: var(--zestify-secondary);
    transform: scaleX(0); transform-origin: right center;
    transition: transform 0.5s cubic-bezier(0.85, 0, 0.08, 1);
    z-index: -1;
    border-radius: 6.25rem;
}
.btn-primary:hover::before {
    transform: scaleX(1); transform-origin: left center;
}
.btn-primary:hover { background: var(--zestify-secondary); border-color: var(--zestify-secondary); }
.btn-border-white { border-radius: 6.25rem; }

/* Fullscreen search popup close button */
.header-search-popup .header-search-close {
    width: 50px; height: 50px; top: 20px; right: 20px;
    left: auto; bottom: auto;
    border: 2px solid var(--zestify-primary);
    background: var(--zestify-white);
    border-radius: 50%; cursor: pointer; position: fixed;
    z-index: 9;
}

/* WooCommerce cart dropdown */
.shopping-cart {
    position: absolute; top: 100%; right: 0; z-index: 999;
    width: 300px; background: var(--zestify-white);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-top: 3px solid var(--zestify-primary);
    padding: 20px; opacity: 0; visibility: hidden;
    transform: translateY(10px); transition: var(--zestify-transition);
}
.cart-wrapper:hover .shopping-cart { opacity: 1; visibility: visible; transform: translateY(0); }

/* Section title improvements */
.theme-main-heading h2 { font-size: 2.5rem; font-weight: 700; }
.theme-main-heading .title {
    display: inline-block;
    background: var(--zestify-primary-light);
    color: var(--zestify-primary); padding: 4px 18px;
    border-radius: 50px; font-size: 14px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1px;
    margin-bottom: 15px;
}
.theme-white-heading .title { background: rgba(255,255,255,0.15); color: var(--zestify-white); }
.theme-white-heading h2 { color: var(--zestify-white); }
.theme-white-heading p { color: rgba(255,255,255,0.8); }

/* Slider enhancements */
.main-slider { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.main-table { display: table; width: 100%; height: 100%; }
.main-table-cell { display: table-cell; vertical-align: middle; }
.home-slider .swiper-slide { position: relative; }
.home-slider .swiper-slide > img { width: 100%; object-fit: cover; }
.home-slider .swiper-button-next,
.home-slider .swiper-button-prev {
    width: 50px; height: 50px;
    background: rgba(255,255,255,0.15);
    border-radius: 50%; color: var(--zestify-white);
    transition: var(--zestify-transition);
}
.home-slider .swiper-button-next:hover,
.home-slider .swiper-button-prev:hover { background: var(--zestify-primary); }
.home-slider .swiper-button-next:after,
.home-slider .swiper-button-prev:after { font-size: 18px; }
.home-slider .swiper-pagination-bullet {
    width: 12px; height: 12px; background: rgba(255,255,255,0.5);
    opacity: 1; transition: var(--zestify-transition);
}
.home-slider .swiper-pagination-bullet-active { background: var(--zestify-primary); width: 30px; border-radius: 6px; }

/* Blog post card improvements */
.blog-inner {
    background: var(--zestify-white); border-radius: var(--zestify-radius);
    box-shadow: var(--zestify-shadow); overflow: hidden;
    transition: var(--zestify-transition);
    height: 100%;
}
.blog-inner:hover { transform: translateY(-8px); box-shadow: var(--zestify-shadow-hover); }
.blog-inner .post-thumb img { width: 100%; object-fit: cover; height: 240px; }
.blog-inner .post-details-outer { padding: 20px; }

/* Service/Features section card polish */
.features-wrap { position: relative; overflow: hidden; }
.features-wrap::before {
    content: ''; position: absolute; top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transition: left 0.6s ease; z-index: 1;
}
.features-wrap:hover::before { left: 100%; }

/* Funfact counter styling */
.fun-counterup { text-align: center; padding: 30px 20px; }
.fun-counterup .content h3 { font-size: 2.5rem; font-weight: 800; color: var(--zestify-white); margin-bottom: 5px; }
.fun-counterup .content .subtitle { font-size: 15px; color: rgba(255,255,255,0.8); font-weight: 500; }
.fun-round-icon i { font-size: 40px; color: var(--zestify-primary); margin-bottom: 15px; }

/* Back to top improvements */
.back-to-top {
    position: fixed; bottom: 30px; right: 30px; z-index: 999;
    width: 45px; height: 45px;
    background: var(--zestify-primary); color: var(--zestify-white);
    border: none; border-radius: 50%;
    font-size: 18px; cursor: pointer;
    opacity: 0; visibility: hidden; transform: translateY(20px);
    transition: var(--zestify-transition);
    box-shadow: 0 5px 20px rgba(0,0,0,0.2);
}
.back-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--zestify-secondary); transform: translateY(-3px); }

/* Preloader polish */
.preloader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--zestify-white); z-index: 99999; display: flex; align-items: center; justify-content: center; transition: opacity 0.5s ease, visibility 0.5s ease; }
.preloader.loaded { opacity: 0; visibility: hidden; }
.preloader-spinner { width: 50px; height: 50px; border: 4px solid var(--zestify-border-color); border-top-color: var(--zestify-primary); border-radius: 50%; animation: zestify-spin 0.8s linear infinite; }
@keyframes zestify-spin { to { transform: rotate(360deg); } }

/* Gallery grid */
.gallery-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 15px; }
.gallery-item { position: relative; overflow: hidden; border-radius: var(--zestify-radius); }
.gallery-item img { width: 100%; height: 250px; object-fit: cover; transition: var(--zestify-transition-slow); }
.gallery-item:hover img { transform: scale(1.1); }
.gallery-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: var(--zestify-transition);
    color: var(--zestify-white); font-size: 30px;
}
.gallery-item:hover .gallery-overlay { opacity: 1; }

/* Testimonial styling */
.testimonial-inner { text-align: center; padding: 20px; }
.testimonial-holder { position: relative; background: var(--zestify-white); padding: 40px 30px; border-radius: var(--zestify-radius); box-shadow: var(--zestify-shadow); }
.testimonial-icon { position: absolute; top: -20px; left: 30px; }
.testimonial-icon svg { width: 40px; height: 40px; fill: var(--zestify-primary); }
.testimonial-title { font-size: 1.1rem; font-weight: 700; margin-bottom: 3px; }
.testimonial-position { font-size: 13px; color: var(--zestify-primary); font-weight: 500; margin-bottom: 10px; }
.testimonial-description { font-size: 14px; color: #888; line-height: 1.7; font-style: italic; }
.testimonial-star { color: #ffb800; font-size: 14px; display: block; margin-bottom: 10px; }
.testimonial-pagination { position: relative; margin-top: 20px; }

/* Team card styling */
.team-inner { background: var(--zestify-white); border-radius: var(--zestify-radius); overflow: hidden; box-shadow: var(--zestify-shadow); transition: var(--zestify-transition); }
.team-inner:hover { transform: translateY(-8px); box-shadow: var(--zestify-shadow-hover); }
.team-inner .post-thumb { position: relative; overflow: hidden; }
.team-inner .post-thumb img { width: 100%; height: 350px; object-fit: cover; transition: var(--zestify-transition-slow); }
.team-inner:hover .post-thumb img { transform: scale(1.1); }
.team-inner .post-content { padding: 20px; text-align: center; }
.team-title { font-size: 1.1rem; font-weight: 700; margin-bottom: 3px; }
.team-role { font-size: 13px; color: var(--zestify-primary); font-weight: 500; }
.team-social { display: flex; gap: 8px; justify-content: center; }
.team-social a {
    width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
    background: var(--zestify-primary); color: var(--zestify-white); border-radius: 50%;
    font-size: 14px; transition: var(--zestify-transition);
}
.team-social a:hover { background: var(--zestify-white); color: var(--zestify-primary); }

/* Pricing cards */
.pricing-container { height: 100%; }
.pricing-single {
    background: var(--zestify-white); border-radius: var(--zestify-radius);
    box-shadow: var(--zestify-shadow); overflow: hidden;
    transition: var(--zestify-transition); height: 100%;
    position: relative;
}
.pricing-single:hover { transform: translateY(-10px); box-shadow: var(--zestify-shadow-hover); }
.pricing-single.featured { border-top: 4px solid var(--zestify-primary); }
.pricing-inner-box { padding: 30px; }
.pricing-price { text-align: center; margin-bottom: 20px; }
.pricing-price .item-standard .standard { font-size: 14px; text-transform: uppercase; letter-spacing: 1px; color: var(--zestify-primary); font-weight: 600; margin-bottom: 10px; }
.item-price { display: flex; align-items: center; justify-content: center; gap: 5px; }
.item-price .icon-dollar { font-size: 20px; font-weight: 700; color: var(--zestify-heading-color); vertical-align: top; }
.value-price { display: flex; gap: 3px; }
.value-price span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 35px; height: 45px; background: var(--zestify-light);
    font-size: 24px; font-weight: 800; color: var(--zestify-heading-color);
    border-radius: 5px;
}
.duration { font-size: 14px; color: #888; margin-top: 5px; }
.pricing-feature { list-style: none; padding: 0; margin: 0 0 20px; }
.pricing-feature li { padding: 8px 0; font-size: 14px; color: #666; display: flex; align-items: center; gap: 10px; }
.pricing-feature li i { color: var(--zestify-primary); }

/* Responsive: Gallery grid */
@media (max-width: 991px) { .gallery-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 400px) { .gallery-grid { grid-template-columns: 1fr; } }

/* Back to top progress ring positioning */
.back-to-top svg { position: absolute; top: -2px; left: -2px; width: 49px; height: 49px; transform: rotate(-90deg); pointer-events: none; }
.back-to-top svg circle { fill: none; stroke: var(--zestify-white); stroke-width: 2; stroke-dasharray: 141.37; stroke-dashoffset: 141.37; transition: stroke-dashoffset 0.1s linear; }
.back-to-top svg circle.progress-ring { stroke: var(--zestify-primary-dark); stroke-width: 3; }


/* Process Arrows ========================= */
.process-step-col { position: relative; }
.arrow-shape {
    position: absolute; top: 30px; right: -15px; z-index: 2;
    width: 40px; height: 40px;
    background: var(--zestify-primary); color: var(--zestify-white);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 16px; box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}
@media (max-width: 767px) { .arrow-shape { display: none; } }
.process-item { padding: 30px 20px; background: rgba(255,255,255,0.05); border-radius: var(--zestify-radius); transition: var(--zestify-transition); height: 100%; }
.process-item:hover { background: rgba(255,255,255,0.1); transform: translateY(-5px); }
.process-number {
    width: 60px; height: 60px; margin: 0 auto 15px;
    background: var(--zestify-primary); color: var(--zestify-white);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 22px; font-weight: 800;
}
.process-item h4 { color: var(--zestify-white); font-size: 1.2rem; font-weight: 700; }
.process-item p { color: rgba(255,255,255,0.7); font-size: 14px; margin: 0; }

/* CTA Section Polish ==================== */
.flixita-call-action-section { position: relative; overflow: hidden; background-color: var(--zestify-primary); padding: 6.75rem 0; }
.flixita-call-action-section .call-content .title { color: var(--zestify-white); font-size: 2.2rem; font-weight: 800; }
.flixita-call-action-section .call-content .description { color: rgba(255,255,255,0.8); font-size: 16px; font-weight: 400; margin-bottom: 20px; }
.call-wrap { display: flex; gap: 30px; flex-wrap: wrap; }
.call-details1, .call-details2 { display: flex; align-items: center; gap: 15px; }
.call-icon {
    width: 55px; height: 55px;
    background: rgba(255,255,255,0.2); color: var(--zestify-white);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 24px;
}
.call-body .call-title { font-size: 1.5rem; font-weight: 700; margin: 0; }
.call-body .call-title a { color: var(--zestify-white); }
.call-body .call-title a:hover { color: rgba(255,255,255,0.8); }
.cta-image img { max-width: 250px; }
@media (max-width: 991px) { .call-wrap { justify-content: center; } .cta-image { text-align: center; margin-top: 20px; } .cta-image img { max-width: 200px; } }
@media (max-width: 575px) { .call-details1, .call-details2 { flex-direction: column; text-align: center; } }

/* Footer Decoration ====================== */
.footer-main { position: relative; }
.footer-bottom-content { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px; padding: 20px 0; }
.footer-copyright { font-size: 14px; color: rgba(255,255,255,0.7); }
.footer-copyright a { color: var(--zestify-primary); }
.footer-copyright a:hover { color: var(--zestify-white); }

/* Newsletter section */
.newsletter-section { background: var(--zestify-secondary-dark); }
.newsletter-form { display: flex; gap: 10px; max-width: 500px; margin: 0 auto; }
.newsletter-form input { flex: 1; border-radius: 50px; border: none; padding: 12px 20px; }
.newsletter-form button { border-radius: 50px; padding: 12px 30px; }

/* CTA section polish */
.flixita-call-action-section { position: relative; overflow: hidden; }
.call-action-content { display: flex; align-items: center; justify-content: space-between; gap: 30px; }

/* Responsive slider text */
@media (max-width: 767px) {
    .zestify-theme .home-slider .main-slider div.main-content {
        width: 90%; margin-top: 5rem; padding: 1.5rem;
    }
    .main-content .slider-title { font-size: 1.5rem; }
    .main-content .slider-subtitle { font-size: 0.9rem; }
    .main-content .slider-desc { font-size: 0.85rem; }
    .home-slider .swiper-slide > img { height: 400px; }
    .home-slider .swiper { height: 400px; }
}
@media (max-width: 575px) {
    .zestify-theme .home-slider .main-slider div.main-content {
        width: 95%; margin-top: 4rem; padding: 1rem;
    }
    .main-content .slider-title { font-size: 1.2rem; }
    .home-slider .swiper-slide > img { height: 350px; }
    .home-slider .swiper { height: 350px; }
}

/* Section spacing defaults */
.st-py-default { padding: 6.75rem 0; position: relative; }
.st-py-sm { padding: 3.75rem 0; position: relative; }
.st-py-md { padding: 5.25rem 0; position: relative; }
.st-py-lg { padding: 8.25rem 0; position: relative; }

/* Responsive column classes =============== */
@media (min-width: 576px) {
    .col-sm-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    .col-sm-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    .col-sm-3 { flex: 0 0 25%; max-width: 25%; }
    .col-sm-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    .col-sm-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
    .col-sm-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    .col-sm-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    .col-sm-9 { flex: 0 0 75%; max-width: 75%; }
    .col-sm-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    .col-sm-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 768px) {
    .col-md-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    .col-md-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    .col-md-3 { flex: 0 0 25%; max-width: 25%; }
    .col-md-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    .col-md-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    .col-md-6 { flex: 0 0 50%; max-width: 50%; }
    .col-md-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    .col-md-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    .col-md-9 { flex: 0 0 75%; max-width: 75%; }
    .col-md-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    .col-md-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 992px) {
    .col-lg-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    .col-lg-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
    .col-lg-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    .col-lg-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
    .col-lg-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    .col-lg-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    .col-lg-9 { flex: 0 0 75%; max-width: 75%; }
    .col-lg-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    .col-lg-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Responsive ============================= */
@media (max-width: 1199px) {
    .main-menu > li > a { padding: 10px 12px; font-size: 14px; }
    .nav-logo-col { flex: 0 0 20%; max-width: 20%; }
}

@media (max-width: 991px) {
    .main-navigation-area { display: none !important; }
    .main-mobile-nav { display: block !important; }

    .process-wrapper { grid-template-columns: repeat(2, 1fr); }
    .features-wrapper { grid-template-columns: repeat(2, 1fr); }
    .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
    .gallery-section .gallery-grid { grid-template-columns: repeat(3, 1fr); }
    .banner-section .banner-grid { grid-template-columns: repeat(2, 1fr); }
    .blog-masonry { columns: 2; }

    .home-slider .item > img { height: 450px; }
    .main-content h1 { font-size: 2rem; }
    .section-title { font-size: 2rem; }

    .service-section .service-grid.cols-3,
    .service-section .service-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }

    .page-with-sidebar { flex-direction: column; }
    .page-with-sidebar .sidebar-content { width: 100%; }

    .blog-posts.grid-2, .blog-posts.grid-3 { grid-template-columns: repeat(2, 1fr); }
    .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }

    .main-footer .row > div { margin-bottom: 30px; }
}

@media (max-width: 767px) {
    .container { padding: 0 15px; }

    .process-wrapper { grid-template-columns: repeat(2, 1fr); }
    .features-wrapper { grid-template-columns: 1fr; }
    .portfolio-grid { grid-template-columns: 1fr; }
    .gallery-section .gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .banner-section .banner-grid { grid-template-columns: 1fr; }
    .blog-masonry { columns: 1; }

    .home-slider .item > img { height: 350px; }
    .main-content h1 { font-size: 1.6rem; }
    .main-content .btn { font-size: 12px; padding: 8px 20px; }

    .section-title { font-size: 1.6rem; }
    .section-title-wrap { margin-bottom: 30px; }
    .home-section, .st-py-default { padding: 50px 0; }

    .service-section .service-grid.cols-3,
    .service-section .service-grid.cols-4 { grid-template-columns: 1fr; }

    .blog-posts.grid-2, .blog-posts.grid-3 { grid-template-columns: 1fr; }
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }

    .footer-bottom-content { flex-direction: column; text-align: center; }

    .breadcrumb-content h1 { font-size: 1.8rem; }
    .breadcrumb-content { padding: 80px 0 40px; }

    .timeline-wrapper::before { left: 20px; }
    .timeline-dot { left: 20px; }
    .timeline-item, .timeline-item:nth-child(odd) { flex-direction: column; padding-left: 50px; text-align: left; }
    .timeline-content { width: 100%; }

    .countdown-value { font-size: 2rem; padding: 15px; }
    .funfact-count { font-size: 2rem; }


}

@media (max-width: 575px) {
    .process-wrapper { grid-template-columns: 1fr; }
    .gallery-section .gallery-grid { grid-template-columns: 1fr; }
    .countdown-grid { gap: 15px; }
    .newsletter-form { flex-direction: column; }
    .cta-info-grid { grid-template-columns: 1fr !important; }
    .woocommerce ul.products { grid-template-columns: 1fr; }
    .home-slider .item > img { height: 300px; }
    .main-content h1 { font-size: 1.3rem; }
    .section-title { font-size: 1.4rem; }
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.5rem; }
}

@media print {
    .main-header, .main-footer, .back-to-top, .preloader, .main-mobile-nav, .breadcrumb-area { display: none !important; }
    body { font-size: 12pt; color: #000; }
    a { color: #000; text-decoration: underline; }
}
