/*
Theme Name: Lar Agroindustrial Custom Theme
Theme URI: https://larcooperativeagroindustrial.com
Author: Core Theme Engineer
Author URI: https://larcooperativeagroindustrial.com
Description: Custom WordPress theme compiled from static assets. Optimized with Elementor styling and fully WooCommerce-compatible.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: lar-custom-theme
*/

/* ==========================================================================
   Consolidated Core Theme Styles & Global Resets
   ========================================================================== */

img:is([sizes=auto i],[sizes^="auto," i]){
    contain-intrinsic-size: 3000px 1500px;
}

/* ==========================================================================
   Astra Custom Theme Overrides & Global Variable Definitions
   ========================================================================== */
:root {
    --ast-post-nav-space: 0;
    --ast-container-default-xlg-padding: 2.5em;
    --ast-container-default-lg-padding: 2.5em;
    --ast-container-default-slg-padding: 2em;
    --ast-container-default-md-padding: 2.5em;
    --ast-container-default-sm-padding: 2.5em;
    --ast-container-default-xs-padding: 2.4em;
    --ast-container-default-xxs-padding: 1.8em;
    --ast-code-block-background: #ECEFF3;
    --ast-comment-inputs-background: #F9FAFB;
    --ast-normal-container-width: 1920px;
    --ast-narrow-container-width: 1000px;
    --ast-blog-title-font-weight: 600;
    --ast-blog-meta-weight: 600;
    --ast-global-color-primary: var(--ast-global-color-4);
    --ast-global-color-secondary: var(--ast-global-color-5);
    --ast-global-color-alternate-background: var(--ast-global-color-6);
    --ast-global-color-subtle-background: var(--ast-global-color-7);
    --ast-bg-style-guide: var( --ast-global-color-secondary, var(--ast-global-color-5) );
    --ast-shadow-style-guide: 0px 0px 4px 0 #00000057;
    --ast-global-dark-bg-style: #fff;
    --ast-global-dark-lfs: #fbfbfb;
    --ast-widget-bg-color: #fafafa;
    --ast-wc-container-head-bg-color: #fbfbfb;
    --ast-title-layout-bg: #eeeeee;
    --ast-search-border-color: #e7e7e7;
    --ast-lifter-hover-bg: #e6e6e6;
    --ast-gallery-block-color: #000;
    --srfm-color-input-label: var(--ast-global-color-2);
    --ast-global-color-0: #046bd2;
    --ast-global-color-1: #045cb4;
    --ast-global-color-2: #1e293b;
    --ast-global-color-3: #334155;
    --ast-global-color-4: #FFFFFF;
    --ast-global-color-5: #F0F5FA;
    --ast-global-color-6: #111111;
    --ast-global-color-7: #D1D5DB;
    --ast-global-color-8: #111111;
    --ast-border-color: var(--ast-global-color-7);
    
    /* Elementor compatibility mapping */
    --e-global-color-astglobalcolor0: #046bd2;
    --e-global-color-astglobalcolor1: #045cb4;
    --e-global-color-astglobalcolor2: #1e293b;
    --e-global-color-astglobalcolor3: #334155;
    --e-global-color-astglobalcolor4: #FFFFFF;
    --e-global-color-astglobalcolor5: #F0F5FA;
    --e-global-color-astglobalcolor6: #111111;
    --e-global-color-astglobalcolor7: #D1D5DB;
    --e-global-color-astglobalcolor8: #111111;
}

html {
    font-size: 100%;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: var(--ast-body-line-height, 1.65);
    background-color: var(--ast-global-color-5);
    margin: 0;
    padding: 0;
}

a {
    color: var(--ast-global-color-0);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover, a:focus {
    color: var(--ast-global-color-1);
}

/* ==========================================================================
   Smooth Scrolling and Common Layout Adjustments
   ========================================================================== */
#ast-scroll-top {
    background-color: var(--ast-global-color-0);
    font-size: 15px;
    cursor: pointer;
}

@media (max-width: 921px) {
    #ast-scroll-top .ast-icon.icon-arrow svg {
        width: 1em;
    }
}

.ast-mobile-header-content > *, .ast-desktop-header-content > * {
    padding: 10px 0;
    height: auto;
}

.ast-mobile-header-content > *:first-child, .ast-desktop-header-content > *:first-child {
    padding-top: 10px;
}

/* Custom premium product card designs and transitions */
.uc_post_grid_style_one_item.ue-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.uc_post_grid_style_one_item.ue-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08) !important;
}

.uc_post_grid_style_one_item.ue-item .uc_post_image {
    background-color: #f8fafc !important;
    padding: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-bottom: 1px solid #f1f5f9 !important;
    box-sizing: border-box !important;
}

.uc_post_grid_style_one_item.ue-item .uc_post_image img {
    height: 200px !important;
    width: auto !important;
    object-fit: contain !important;
    transition: transform 0.5s ease !important;
}

.uc_post_grid_style_one_item.ue-item:hover .uc_post_image img {
    transform: scale(1.05) !important;
}

.uc_post_grid_style_one_item.ue-item .uc_content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 20px !important;
    background-color: #ffffff !important;
}

.uc_post_grid_style_one_item.ue-item .uc_title {
    margin-bottom: 10px !important;
}

.uc_post_grid_style_one_item.ue-item .uc_title a {
    color: #0f172a !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease !important;
}

.uc_post_grid_style_one_item.ue-item .uc_title a:hover {
    color: #d9a453 !important;
}

.uc_post_grid_style_one_item.ue-item .ue_grid_item_bottom {
    margin-top: auto !important;
}

.uc_post_grid_style_one_item.ue-item .ue_grid_prices {
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #d9a453 !important;
    margin-bottom: 15px !important;
}

.uc_more_btn {
    display: inline-block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    border: 2px solid #020101 !important;
    background-color: transparent !important;
    color: #020101 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
}

.uc_more_btn:hover {
    background-color: #020101 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   Product Grid Alignment & Equal Height Flex Card Fixes
   ========================================================================== */
.uc_post_grid_style_one_wrap.ue-woo-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

@media (max-width: 1024px) {
    .uc_post_grid_style_one_wrap.ue-woo-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 767px) {
    .uc_post_grid_style_one_wrap.ue-woo-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .uc_post_grid_style_one_item.ue-item .uc_post_image img {
        height: 150px !important;
    }
}


/* === Quality Meat Global Export brand logo (round white coin so the navy badge reads on the dark header) === */
.elementor-element-6ed4c86 img { max-width: none !important; max-height: 64px; width: auto; height: auto; background:#fff; padding:6px; border-radius:50%; box-sizing:content-box; }
.elementor-element-60dd506 img { max-width: none !important; max-height: 118px; width: auto; height: auto; background:#fff; padding:8px; border-radius:50%; box-sizing:content-box; }
.ue_logo img { max-height: 54px; width: auto; height: auto; background:#fff; padding:5px; border-radius:50%; box-sizing:content-box; }
/* Force the round-coin styling on EVERY logo instance regardless of per-page Elementor CSS */
img[src$="/assets/images/logo.png"] { background:#fff !important; border-radius:50% !important; box-sizing:content-box !important; }
/* Single, consistent dropdown caret on every page: keep the server-rendered ast arrow
   (present on all pages via header.php) and hide Elementor's SmartMenus .sub-arrow,
   which only initialises on some pages and caused a missing/duplicate caret. */
.elementor-nav-menu .sub-arrow { display: none !important; }
/* Quality page: center the Halal / SAG certification badges (inline imgs in an HTML widget that defaults to left) */
.elementor-element-23ea450 .elementor-widget-container,
.elementor-element-23ea450 { text-align: center !important; }

/* === Contact Form 7 fields styled to match the Elementor form layout === */
.elementor-form .wpcf7-form-control-wrap { display:block; width:100%; }
.elementor-form .wpcf7-form-control.elementor-field { width:100%; }
.elementor-form .wpcf7-response-output { margin:14px 0 0; padding:8px 14px; border-radius:4px; font-size:14px; }
.elementor-form .wpcf7-not-valid-tip { font-size:12px; margin-top:4px; }
.elementor-form .wpcf7-spinner { margin:0 0 0 10px; }

/* === Newsletter (footer) — email input (natural size) + Send button in one row, spaced & aligned === */
.elementor-element-39bbb00 .elementor-form-fields-wrapper { display:flex !important; flex-wrap:nowrap; align-items:center !important; gap:0; margin:0 !important; }
.elementor-element-39bbb00 .elementor-field-group { margin:0 !important; padding:0 !important; display:flex; align-items:center; }
.elementor-element-39bbb00 .elementor-field-group-email { flex:1 1 auto; }
.elementor-element-39bbb00 .e-form__buttons { flex:0 0 auto; position:relative; top:12px; }
.elementor-element-39bbb00 .wpcf7-form-control-wrap { display:flex; align-items:center; width:100%; }
.elementor-element-39bbb00 input.elementor-field-textual { width:100%; margin:0; display:block; }
.elementor-element-39bbb00 .elementor-button { margin:0; display:block; white-space:nowrap; }
