/*
Theme Name: Argu Child
Theme URI: http://useful-pixels.com/
Description: Child theme for Argu
Version: 1.0
Author: Useful Pixels
Author URI: http://useful-pixels.com/
Template: argu
*/

/* Add your custom styles here */

/* WPBakery layout fallback for child templates */
.vc_row,
.wpb_row,
.vc_section {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.vc_row::before,
.vc_row::after,
.wpb_row::before,
.wpb_row::after,
.vc_container::before,
.vc_container::after {
    content: " ";
    display: table;
}

.vc_row::after,
.wpb_row::after,
.vc_container::after {
    clear: both;
}

.vc_container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.vc_column_container,
.wpb_column {
    position: relative;
    min-height: 1px;
    width: 100%;
}

.vc_column_container > .vc_column-inner {
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
}

.no.padding.vc_column_container > .vc_column-inner,
.full_width .vc_column_container.vc_col-sm-12 > .vc_column-inner,
.full_width.vc_col-sm-12 .vc_column_container > .vc_column-inner {
    padding-left: 0;
    padding-right: 0;
}

.vc_empty_space {
    width: 100%;
}

.vc_empty_space > .vc_empty_space_inner {
    display: block;
    width: 100%;
    height: 100%;
}

.wpb_wrapper > .vc_empty_space {
    height: 15px;
}

.vc_custom_heading {
    margin-top: 0;
}

.wpb_single_image,
.wpb_text_column,
.wpb_content_element {
    margin-bottom: 0;
}

.wpb_single_image img,
.vc_figure,
.vc_single_image-wrapper {
    display: block;
    max-width: 100%;
}

.vc_col-has-fill > .vc_column-inner,
.vc_row-has-fill > .vc_column_container > .vc_column-inner {
    padding-top: 0;
}

.hover.dark.vc_column_container .vc_column-inner,
.hover.main.vc_column_container .vc_column-inner,
.hover.gray.vc_column_container .vc_column-inner,
.hover.dark-gray.vc_column_container .vc_column-inner,
.hover.white.vc_column_container .vc_column-inner {
    transition: all 0.2s ease-in-out;
}

.hover.white.vc_column_container .vc_column-inner:hover {
    background-color: #fff;
}

.hover.green.vc_column_container .vc_column-inner:hover {
    background-color: #fff;
}

.hover.gray.vc_column_container .vc_column-inner:hover {
    background-color: #f5f5f5;
}

.hover.dark.vc_column_container .vc_column-inner:hover {
    background-color: #282b2b;
}

.hover.dark-gray.vc_column_container .vc_column-inner:hover {
    background-color: #515a5b;
}

@media (min-width: 768px) {
    .vc_column_container,
    .wpb_column {
        float: left;
    }

    .vc_col-sm-1 {
        width: 8.33333333%;
    }

    .vc_col-sm-2 {
        width: 16.66666667%;
    }

    .vc_col-sm-3 {
        width: 25%;
    }

    .vc_col-sm-4 {
        width: 33.33333333%;
    }

    .vc_col-sm-5 {
        width: 41.66666667%;
    }

    .vc_col-sm-6 {
        width: 50%;
    }

    .vc_col-sm-7 {
        width: 58.33333333%;
    }

    .vc_col-sm-8 {
        width: 66.66666667%;
    }

    .vc_col-sm-9 {
        width: 75%;
    }

    .vc_col-sm-10 {
        width: 83.33333333%;
    }

    .vc_col-sm-11 {
        width: 91.66666667%;
    }

    .vc_col-sm-12 {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .vc_container {
        max-width: 950px;
    }
}

@media (min-width: 1200px) {
    .vc_container {
        max-width: 1170px;
    }
}

@media (max-width: 767px) {
    /* Restore side padding on mobile */
    .vc_container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .vc_column_container > .vc_column-inner {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Stack columns vertically */
    .vc_column_container,
    .wpb_column {
        float: none !important;
        width: 100% !important;
    }

    /* Hero title size */
    .hero-title {
        font-size: 32px !important;
        line-height: 40px !important;
    }

    .hero-subtitle {
        font-size: 13px !important;
    }

    .hero-description {
        font-size: 15px !important;
    }

    /* Section headings */
    h2 {
        font-size: 24px !important;
        line-height: 32px !important;
    }

    h3 {
        font-size: 18px !important;
    }

    /* Stats counter row */
    .vc_custom_1552495119165 .vc_container {
        display: block !important;
    }

    .vc_custom_1552495119165 .wpb_column {
        width: 100% !important;
        margin-bottom: 10px;
    }

    /* Portfolio slider padding */
    .port_slider-wr {
        padding: 0 !important;
    }

    /* Team section image */
    .our-team img {
        width: 100%;
    }

    /* Hero badge hide on mobile */
    .hero-badge {
        display: none !important;
    }

    /* Full width sections — no side overflow */
    .vc_row,
    .wpb_row {
        overflow: hidden;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Buttons */
    .upbtnposition {
        text-align: center !important;
    }

    /* Feature icons */
    .ic-inner {
        flex-direction: column;
        text-align: center;
    }

    /* Logo images */
    .up_logo_b img {
        max-width: 120px;
        margin: 0 auto;
    }
}

.plain-blog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px 24px;
    align-items: stretch;
    margin-top: 36px;
}

.plain-blog-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 520px;
    background: #fff;
    border: 1px solid #e7e2d8;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.plain-blog-item .post-thumb {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f3efe8;
}

.plain-blog-item .post-thumb a,
.plain-blog-item .post-thumb img {
    display: block;
    width: 100%;
    height: 100%;
}

.plain-blog-item .post-thumb img {
    object-fit: cover;
}

.plain-blog-item .gallery-thumb-list {
    display: none;
}

.plain-blog-item .post-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px 20px 24px;
}

.plain-blog-item .post-title {
    margin: 0 0 12px;
    line-height: 1.4;
    min-height: 3.9em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.plain-blog-item .post-title a {
    color: inherit;
    text-decoration: none;
}

.plain-blog-item .post-meta {
    margin-bottom: 14px;
    font-size: 13px;
    color: #7a746a;
}

.plain-blog-item .excerpt {
    min-height: 5.4em;
    margin-bottom: 18px;
}

.plain-blog-item .excerpt:empty::before {
    content: "";
    display: block;
    min-height: 5.4em;
}

.plain-blog-item .read-more {
    display: inline-block;
    margin-top: auto;
}

.pagination {
    margin-top: 40px;
}

@media (max-width: 1199px) {
    .plain-blog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .plain-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .plain-blog-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Footer menu — horizontal row (matches parent theme .menu_top_footer behavior) */
.footercopy .menu ul,
.footercopy div.menu > ul,
.footercopy .widget_pages > ul,
.footercopy .widget_nav_menu > div > ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-block !important;
    text-align: center !important;
}

.footercopy .menu ul li,
.footercopy div.menu > ul > li,
.footercopy .widget_pages > ul > li,
.footercopy .widget_nav_menu > div > ul > li {
    display: inline-block !important;
    float: none !important;
    border-right: 1px solid rgba(255,255,255,0.41) !important;
    padding: 0 30px !important;
    margin: 0 !important;
    line-height: 12px !important;
}

.footercopy .menu ul li:last-child,
.footercopy div.menu > ul > li:last-child,
.footercopy .widget_pages > ul > li:last-child,
.footercopy .widget_nav_menu > div > ul > li:last-child {
    border-right: none !important;
}

.footercopy .menu ul li a,
.footercopy div.menu > ul > li > a,
.footercopy .widget_pages > ul > li > a,
.footercopy .widget_nav_menu > div > ul > li > a {
    color: #fff !important;
    text-decoration: none !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    display: inline !important;
}

.footercopy .menu ul li a:hover,
.footercopy div.menu > ul > li > a:hover,
.footercopy .widget_pages > ul > li > a:hover,
.footercopy .widget_nav_menu > div > ul > li > a:hover {
    color: #d5ac63 !important;
}

/* Center the footer menu container */
.footercopy .container {
    text-align: center !important;
}

.footercopy .container > * {
    display: inline-block !important;
    vertical-align: middle !important;
}


/* end footer menu */

@media (max-width: 480px) {
    .vc_container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .hero-title {
        font-size: 26px !important;
        line-height: 34px !important;
    }

    h2 {
        font-size: 20px !important;
    }

    .hero-slide {
        height: 500px !important;
    }

    /* Stats — 2 per row on small phones */
    .vc_custom_1552495119165 .wpb_column {
        width: 50% !important;
        float: left !important;
        margin-bottom: 10px;
    }
}

/* ── Mobile Header Fix ─────────────────────────────────────── */
@media (max-width: 1020px) {

    /* Disable sticky */
    #up_topbar.topclass {
        position: static !important;
        top: auto !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .topclass.topclass-shrink {
        display: block !important;
    }

    /* Hide entire #up_topbar on mobile — replaced by container_mob */
    #up_topbar {
        display: none !important;
    }

    /* container_mob — logo left, hamburger right, dropdown anchors here */
    .container_mob {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        background: #fff !important;
        padding: 8px 15px !important;
        min-height: 70px !important;
        box-shadow: 0 1px 4px rgba(0,0,0,0.1);
        position: relative !important;
        z-index: 100000 !important;
    }

    /* Show mob logo on left */
    .up_mob_logo {
        display: block !important;
        float: none !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .up_mob_logo img {
        max-height: 55px !important;
        width: auto !important;
        margin: 0 !important;
        display: block !important;
    }

    /* Hamburger on the right */
    #mobile-up-trigger {
        display: block !important;
        float: none !important;
        margin: 0 !important;
        position: static !important;
    }

    /* Reset -78px offset */
    .nav-trigger-case {
        position: static !important;
        top: auto !important;
        right: auto !important;
        width: auto !important;
        line-height: normal !important;
        background: transparent !important;
        display: inline-block !important;
    }

    .nav-trigger-case .up-menu-icon i {
        color: #352d75 !important;
        font-size: 28px !important;
        margin-top: 0 !important;
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
    }

    .nav-trigger-case .up-menu-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 70px !important;
        width: 50px !important;
    }

    /* Mobile nav — fixed, starts below the header bar */
    #up-mobile-nav {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: auto !important;
        max-height: calc(100vh - 70px) !important;
        background: #41484e !important;
        z-index: 9999999 !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
        overflow-y: auto !important;
        padding: 0 !important;
    }

    #up-mobile-nav.nav-open {
        display: block !important;
    }

    #up-mobile-nav .nav-inner {
        padding: 0 !important;
    }

    #up-mobile-nav .nav-inner .up-mobnav {
        padding: 0 !important;
        margin: 0 !important;
    }

    #up-mobile-nav .nav-inner li {
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
        list-style: none !important;
        margin: 0 !important;
    }

    #up-mobile-nav .nav-inner li a {
        color: #fff !important;
        padding: 16px 25px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        display: block !important;
        border-bottom: none !important;
    }

    #up-mobile-nav .nav-inner li.current-menu-item > a,
    #up-mobile-nav .nav-inner li.current-menu-ancestor > a {
        color: #d5ac63 !important;
    }

    #up-mobile-nav .nav-inner li a:hover {
        color: #d5ac63 !important;
    }

    /* Submenu items */
    #up-mobile-nav li ul.sub-menu,
    #up-mobile-nav li ul.sf-dropdown-menu {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: rgba(0,0,0,0.25) !important;
    }

    #up-mobile-nav li.open > ul.sub-menu,
    #up-mobile-nav li.open > ul.sf-dropdown-menu {
        display: block !important;
    }

    #up-mobile-nav li ul li a {
        padding: 12px 25px 12px 40px !important;
        font-size: 12px !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        font-weight: 400 !important;
    }

    /* Arrow for parent items — removed, using separate toggle */

    /* Search bar inside nav */
    #up-mobile-nav .new_search.mob {
        padding: 20px 25px !important;
        border-top: 1px solid rgba(255,255,255,0.1) !important;
    }

    #up-mobile-nav .new_search.mob input {
        background: transparent !important;
        border: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.4) !important;
        color: #fff !important;
        width: 80% !important;
        padding: 8px 0 !important;
        font-size: 14px !important;
    }

    #up-mobile-nav .new_search.mob input::placeholder {
        color: rgba(255,255,255,0.5) !important;
    }

    #up-mobile-nav .new_search.mob button {
        background: transparent !important;
        border: none !important;
        color: #fff !important;
        font-size: 18px !important;
        cursor: pointer !important;
        padding: 8px !important;
    }

    /* Remove overlay — not needed for dropdown style */
    .mobile-nav-overlay {
        display: none !important;
    }
}

@media (max-width: 767px) {
    /* Top bar — stack sections */
    .top-bar-section .top_bar_left,
    .top-bar-section .top_bar_right {
        width: 100% !important;
        float: none !important;
        text-align: center !important;
        padding: 4px 15px !important;
    }
}

/* Portfolio slider — mobile: horizontal scrollable tiles */
@media (max-width: 767px) {
    /* Hide the slick slider on mobile */
    .port_slider-wr {
        display: none;
    }

    /* Show the mobile grid instead */
    .port_mobile_grid {
        display: flex;
        overflow-x: auto;
        gap: 12px;
        padding: 10px 15px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .port_mobile_grid::-webkit-scrollbar {
        display: none;
    }

    .port_mobile_grid a {
        flex: 0 0 140px;
        height: 90px;
        background: #fff;
        border-radius: 6px;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15);
        text-decoration: none;
    }

    .port_mobile_grid a img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 8px;
    }
}

@media (min-width: 768px) {
    .port_mobile_grid {
        display: none;
    }
}

/* Fix button placement on mobile */
@media (max-width: 767px) {
    /* More Designs button — hide since slider is hidden on mobile */
    .vc_custom_1553275772449 {
        display: none;
    }

    /* Projects section button row — stack below heading */
    .vc_row .upbtnposition {
        text-align: left;
        margin-top: 10px;
    }

    /* Latest news section — fix MORE NEWS button overlapping */
    .up_latest_post.lp_three {
        margin-top: 0;
    }

    /* Stack the news header row properly */
    .vc_row .wpb_column.vc_col-sm-6 {
        width: 100%;
        float: none;
    }

    /* More News button — move below heading, not overlapping */
    .vc_row .upbtnposition[style*="text-align:right"],
    .vc_row .upbtnposition[style*="text-align: right"] {
        text-align: left !important;
        margin-top: 0;
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    /* Collapse the spacer above MORE NEWS button on mobile */
    .news-btn-spacer {
        height: 0 !important;
        min-height: 0 !important;
    }

    /* Align MORE NEWS button left on mobile */
    .news-btn-spacer + .upbtnposition {
        text-align: left !important;
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    /* Hide desktop button column, show mobile button */
    .news-btn-desktop { display: none !important; }
    .news-btn-mobile { display: block !important; }
    .news-btn-spacer { height: 0 !important; }
}

@media (min-width: 768px) {
    .news-btn-mobile { display: none !important; }
    .news-btn-desktop { display: block; }
}

/* font-display: swap for icon fonts — fixes PageSpeed "ensure text remains visible" warning */
@font-face {
    font-family: 'FontAwesome';
    src: url('../argu/assets/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
         url('../argu/assets/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'themify';
    src: url('../argu/assets/fonts/themify.woff?-fvbane') format('woff'),
         url('../argu/assets/fonts/themify.ttf?-fvbane') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Explicit logo dimensions to prevent CLS */
#uplogo img.up-logo {
    width: auto;
    height: 60px;
    max-height: 60px;
}

#uplogo {
    min-width: 150px;
    min-height: 60px;
}
