/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/
Description: Child theme for Hello Elementor
Author: Liquifyplus
Template: hello-elementor
Version: 1.0
Text Domain: hello-elementor-child
*/

/* Add your custom CSS below */


.menulqsd {
    padding: 20px 0;
}


.lqmm__cats:empty{ display:none !important; }


.lqmm .lqmm__product-img{
    aspect-ratio: 1 / 1;    
    width: 100%;
    height: auto;           
    display: block;
    overflow: hidden;
    background: #f4f5f6;      
}
.lqmm .lqmm__product-img img{
    width: 100%;
    height: 100%;
    object-fit: contain;     
    display: block;
}





.lqmm__product-img img,
.lqmm__product:hover .lqmm__product-img img{
	transition: none !important;
	transform: none !important;
}



/* ===== Lenis smooth scroll ===== */
html.lenis,
html.lenis body { height: auto; }

.lenis.lenis-smooth { scroll-behavior: auto !important; }

.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }

.lenis.lenis-stopped { overflow: hidden; }

/* Let the wheel pass THROUGH iframes (YouTube etc.) while scrolling, so the page
   scrolls smoothly over the video — but keep the player clickable when idle. */
.lenis.lenis-scrolling iframe { pointer-events: none; }




.menucard {
    transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform;
}

.menucard .icon-menu-lq {
    transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform;
    transform-origin: center center !important;
    transform: scale(1) !important;
}

.menucard .lq-menu-hdfs {
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: color;
}

@media (hover: hover) {
    .menucard:hover {
        transform: translateY(-2px) !important;
    }

    .menucard:hover .icon-menu-lq {
        transform: scale(1.08) !important;
    }

    .menucard:hover .lq-menu-hdfs {
        color: #CF1212 !important;
    }
}

.menucard:active {
    transform: translateY(0px) !important;
    transition-duration: 80ms !important;
}

.menucard:active .icon-menu-lq {
    transform: scale(1) !important;
    transition-duration: 80ms !important;
}

.menucard:active .lq-menu-hdfs {
    color: #CF1212 !important;
    transition-duration: 80ms !important;
}

@media (max-width: 1024px) {
    .menucard:hover {
        transform: translateY(-1px) !important;
    }
}

@media (max-width: 767px) {
    .menucard:hover {
        transform: none !important;
    }

    .menucard:hover .icon-menu-lq {
        transform: scale(1) !important;
    }

    .menucard:hover .lq-menu-hdfs {
        color: inherit !important;
    }
}

































.lqheaderbtn .elementor-button {
    transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 260ms cubic-bezier(0.16, 1, 0.3, 1),
                filter 260ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, box-shadow, filter;
}

@media (hover: hover) {
    .lqheaderbtn .elementor-button:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18),
                    0 1px 3px rgba(0, 0, 0, 0.12) !important;
        filter: brightness(1.06) contrast(1.04) !important;
    }
}

.lqheaderbtn .elementor-button:active {
    transform: translateY(0px) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12) !important;
    filter: brightness(0.98) !important;
    transition-duration: 80ms !important;
}































.lqiconsd .elementor-icon-list-icon svg {
    transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform !important;
    display: block !important;
}

@media (hover: hover) {
    .lqiconsd .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
        transform: scale(1.15) !important;
    }
}




img.lqlogo {
    filter: brightness(1) contrast(1);
    transition: opacity 280ms cubic-bezier(0.16, 1, 0.3, 1),
                filter 280ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, filter;
}

@media (hover: hover) {
    img.lqlogo:hover {
        filter: brightness(1) contrast(1.09);
    }
}





.lq-img-clip {
    display: block;
    overflow: hidden !important;
    border-radius: 13px !important;
    flex-shrink: 0;
    line-height: 0;
    position: relative;
}

.lq-img-clip img.menu-image-lq {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: scale(1) !important;
    transform-origin: center center !important;
    transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform;
    border-radius: 0 !important;
}

@media (hover: hover) {
    .menucard:hover .lq-img-clip img.menu-image-lq {
        transform: scale(1.04) !important;
    }
}

@media (max-width: 767px) {
    .menucard:hover .lq-img-clip img.menu-image-lq {
        transform: scale(1) !important;
    }
}














































:root {
    --primary-red: #CF1212;
	 --primary-white: #fff;
	
	
	 --white-05: rgba(255, 255, 255, 0.05);
    --white-10: rgba(255, 255, 255, 0.10);
    --white-15: rgba(255, 255, 255, 0.15);
    --white-20: rgba(255, 255, 255, 0.20);
    --white-30: rgba(255, 255, 255, 0.30);
    --white-40: rgba(255, 255, 255, 0.40);
    --white-50: rgba(255, 255, 255, 0.50);
    --white-60: rgba(255, 255, 255, 0.60);
    --white-70: rgba(255, 255, 255, 0.70);
    --white-80: rgba(255, 255, 255, 0.80);
    --white-90: rgba(255, 255, 255, 0.90);
	
	 /* Border Radius */
    --radius-xs: 4px;
    --radius-sm: 7px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-full: 9999px;


/* Opacity */
    --opacity-0: 0;
    --opacity-10: 0.1;
    --opacity-20: 0.2;
    --opacity-30: 0.3;
    --opacity-40: 0.4;
    --opacity-50: 0.5;
    --opacity-60: 0.6;
    --opacity-70: 0.7;
    --opacity-80: 0.8;
    --opacity-90: 0.9;
    --opacity-100: 1;
	
	 /* Glassmorphism */
    --glass-bg: rgba(255, 255, 255, 0.08);
    --glass-bg-hover: rgba(255, 255, 255, 0.12);

    --glass-blur-sm: 8px;
    --glass-blur-md: 16px;
    --glass-blur-lg: 24px;
    --glass-blur-xl: 40px;

    --glass-border: rgba(255, 255, 255, 0.12);
    --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
	
	
	 /* Spacing / Padding */
    --space-0: 0;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-7: 32px;
    --space-8: 40px;
    --space-9: 48px;
    --space-10: 64px;
    --space-11: 80px;
    --space-12: 96px;
	
	
}

.elementor-widget-nav-menu.lqtoggle .elementor-item:hover,
.elementor-widget-nav-menu.lqtoggle .elementor-item.elementor-item-active,
.elementor-widget-nav-menu.lqtoggle .elementor-item.highlighted,
.elementor-widget-nav-menu.lqtoggle .elementor-item:focus {
    background-color: var(--primary-red) !important;
}

.lqtoggle .elementor-nav-menu--main .elementor-item {
	border-radius: var(--radius-sm);
   background-color: var( --white-20);
	
}


.elementor-widget-nav-menu.lqtoggle .elementor-widget-container, .elementor-widget-nav-menu.lqtoggle:not(:has(.elementor-widget-container)):not([class*=elementor-hidden-]) {
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur-md));
    -webkit-backdrop-filter: blur(var(--glass-blur-md));
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    border-radius: var(--radius-md);
	
	 padding: var(--space-1) var(--space-1);
	
}



@media (max-width:768px){
	
}



/* Footer CSS */
.flqs .elementor-social-icon {
    position: relative !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    transform: scale(1) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.4s ease, backdrop-filter 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease !important;
    z-index: 1;
}

.flqs .elementor-social-icon::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 150% !important;
    height: 100% !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0)) !important;
    transform: translateX(-150%) skewX(-20deg) !important;
    pointer-events: none !important;
    transition: transform 0s !important;
    z-index: 2 !important;
}

.flqs .elementor-social-icon:hover {
    transform: scale(1.06) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2), 0 0 20px rgba(255, 255, 255, 0.1) !important;
    z-index: 2;
}

.flqs .elementor-social-icon:hover::before {
    transform: translateX(100%) skewX(-20deg) !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.flqs .elementor-social-icon:active {
    transform: scale(0.98) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.1s ease, box-shadow 0.1s ease, background 0.1s ease !important;
}




.lq-emailfooter .elementor-field-group-email input {
    width: 100% !important;
    padding: 20px 16px 8px 16px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.02), 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition: border-color 300ms cubic-bezier(0.16, 1, 0.3, 1), background 300ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    transform: translateZ(0) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    touch-action: manipulation !important;
}

.lq-emailfooter .elementor-field-group-email {
    position: relative !important;
    overflow: visible !important;
}

.lq-emailfooter .elementor-field-group-email label {
    position: absolute !important;
    left: 16px !important;
    top: 19px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    pointer-events: none !important;
    transform-origin: left top !important;
    transform: scale(1) !important;
    transition: top 300ms cubic-bezier(0.16, 1, 0.3, 1), transform 300ms cubic-bezier(0.16, 1, 0.3, 1), color 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 2 !important;
    clip: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.lq-emailfooter .elementor-field-group-email input:focus,
.lq-emailfooter .elementor-field-group-email input:not(:placeholder-shown) {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    box-shadow: inset 0 1px 8px rgba(255, 255, 255, 0.08), 0 0 0 1px rgba(255, 255, 255, 0.1), 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

.lq-emailfooter .elementor-field-group-email:focus-within label,
.elementor-field-group-email:has(input:focus) label,
.elementor-field-group-email:has(input:not(:placeholder-shown)) label {
    top: 8px !important;
    transform: scale(0.75) !important;
    color: rgba(255, 255, 255, 0.95) !important;
}

.lq-emailfooter .elementor-field-group-email input::placeholder {
    color: transparent !important;
}



@media (max-width: 768px) {
    .lq-emailfooter .elementor-form-fields-wrapper {
        overflow: hidden !important;
    }

    .lq-emailfooter .elementor-field-group-email input {
        font-size: 16px !important;
    }
}




.elementor-form .elementor-button[type="submit"] {
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
    transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1), color 350ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 350ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, color, box-shadow;
    -webkit-tap-highlight-color: transparent !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    touch-action: manipulation !important;
}

.elementor-form .elementor-button[type="submit"]::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #CF1212 !important;
    transform-origin: bottom !important;
    transform: scaleY(0) !important;
    transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: -1 !important;
    border-radius: inherit !important;
    will-change: transform;
}

@media (hover: hover) {
    .elementor-form .elementor-button[type="submit"]:hover {
        transform: translateY(-2px) !important;
        color: #ffffff !important;
        box-shadow: 0 10px 24px #cf12121f, 0 4px 10px #cf12121c !important;
    }

    .elementor-form .elementor-button[type="submit"]:hover::before {
        transform: scaleY(1) !important;
    }
}

.elementor-form .elementor-button[type="submit"]:active,
.elementor-form .elementor-button[type="submit"]:focus {
    transform: translateY(0) scale(0.98) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(207, 18, 18, 0.15) !important;
    transition: transform 150ms ease, box-shadow 150ms ease, color 150ms ease !important;
    outline: none !important;
}

.elementor-form .elementor-button[type="submit"]:active::before,
.elementor-form .elementor-button[type="submit"]:focus::before {
    transform: scaleY(1) !important;
    transition: transform 150ms ease-out !important;
}



.elementor-nav-menu .elementor-item,
.flqs .elementor-nav-menu .elementor-item {
    transition: color 300ms cubic-bezier(0.16, 1, 0.3, 1), transform 300ms cubic-bezier(0.16, 1, 0.3, 1), text-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, color;
}

@media (hover: hover) {
    .elementor-nav-menu .elementor-item:hover,
    .flqs .elementor-nav-menu .elementor-item:hover {
        color: #fff !important;
        transform: translateY(-2px) !important;
    }
}

.elementor-nav-menu .elementor-item:active,
.flqs .elementor-nav-menu .elementor-item:active {
    transform: translateY(0) scale(0.98) !important;
    transition: transform 150ms ease, text-shadow 150ms ease !important;
}











/* Footer CSS End */




/* Blog grid home */

 .elementor-post__text {
    border-radius: 0 0 15px 15px;
}


@media (max-width:768px){
     .elementor-post__text {
    border-radius: 0 0 10px 10px;
}

}



.elementor-post__title {
  
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
}

.elementor-post__title {
    transition: color 300ms ease !important;
}

.elementor-post__title a {
    color: inherit !important;
    transition: color 300ms ease !important;
}






.elementor-has-item-ratio .elementor-post__thumbnail img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
    transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform;
    opacity: 1 !important;
}

@media (hover: hover) {
    .elementor-posts-container .elementor-post:hover .elementor-post__thumbnail img {
        transform: scale(1.05) !important;
    }
}

.elementor-post__thumbnail__link {
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    transform: none !important;
}

.elementor-has-item-ratio .elementor-post__thumbnail {
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    transform: none !important;
}

.elementor-posts-container {
    opacity: 1 !important;
}















.elementor-post-date {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.elementor-post-date::before {
    content: "" !important;
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") no-repeat center / contain !important;
}



@media (max-width: 767px) {
    .elementor-post__title {
        display: block !important;
        -webkit-line-clamp: unset !important;
        overflow: visible !important;
    }
    

}







.elementor-post__card .elementor-post__badge {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 14px !important;
    background: rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 99px !important;
    color: #1a1a1a !important;
   
    white-space: nowrap !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.7), 0 4px 12px rgba(0, 0, 0, 0.04) !important;
    z-index: 10 !important;
    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1), background 300ms cubic-bezier(0.16, 1, 0.3, 1), border-color 300ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, background, box-shadow;
}

/* Status Indicator Dot */
.elementor-post__card .elementor-post__badge::before {
    content: "" !important;
    display: block !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background-color: #CF1212 !important; 
    box-shadow: 0 0 6px rgba(207, 18, 18, 0.3) !important;
    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}


@media (hover: hover) {
    .elementor-post__card:hover .elementor-post__badge {
        transform: translateY(-2px) !important;
        background: rgba(255, 255, 255, 0.9) !important;
        border-color: rgba(255, 255, 255, 0.8) !important;
        box-shadow: inset 0 1px 1px rgba(255, 255, 255, 1), 0 8px 16px rgba(0, 0, 0, 0.08) !important;
    }
    
    .elementor-post__card:hover .elementor-post__badge::before {
        transform: scale(1.2) !important;
    }
}

.elementor-post__card .elementor-post__badge:empty {
    display: none !important;
}


@media (max-width: 767px) {
    .elementor-post__card .elementor-post__badge {
        top: 12px !important;
        right: 12px !important;
        padding: 4px 12px !important;
        gap: 6px !important;
    }
}




/* Blog grid home End */






html {
    scroll-behavior: auto !important;
}

body {
    overscroll-behavior: none;
}









/* Blog Post Grid */

.elementor-post__meta-data {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
}

.elementor-post__meta-data span + span::before,
.elementor-post__meta-data span + span:before {
    display: none !important;
    content: none !important;
}

.elementor-post__meta-data .lq-rt__dot::before,
.elementor-post__meta-data .lq-rt__dot:before,
.elementor-post__meta-data .lq-rt::before,
.elementor-post__meta-data .lq-rt:before {
    display: none !important;
    content: none !important;
}

i.lq-rt__dot {
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.3;
    margin: 0 8px;
    flex-shrink: 0;
    font-style: normal;
    vertical-align: middle;
    position: relative;
    top: -0.5px;
}

.lq-rt {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    flex-shrink: 0;
}

.lq-rt__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 14px !important;
    height: 14px !important;
 
}

.lq-rt__icon svg {
    width: 15px !important;
    height: 15px !important;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}



@media (max-width: 1024px) {
    i.lq-rt__dot {
        margin: 0 6px;
    }

    .lq-rt__text {
        font-size: 11.5px;
    }
}

@media (max-width: 767px) {
    .elementor-post__meta-data {
        flex-wrap: nowrap !important;
        overflow: hidden;
    }

    i.lq-rt__dot {
        margin: 0 5px;
        width: 2.5px;
        height: 2.5px;
    }

    .lq-rt__icon,
    .lq-rt__icon svg {
        width: 10px;
        height: 10px;
    }

    .lq-rt__text {
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    i.lq-rt__dot {
        margin: 0 4px;
    }

    .lq-rt__text {
        font-size: 10.5px;
    }
}


/* Blog Post Grid End */


span.lq-rt__text{
    color: var( --e-global-color-4516736 );
    font-family: "Miranda Sans", Sans-serif;
    font-size: 14px;
    font-weight: 400;

}



/* Post Grid filter End */

.lq-pf {
    width: 100%;
}

.lq-pf__track {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 9999px;
    padding: 4px;
}

.lq-pf__indicator {
    position: absolute;
    top: 4px;
    left: 0; 
    height: calc(100% - 8px);
    background: #CF1212;
    border-radius: 9999px;
    box-shadow: 0 2px 8px rgba(207, 18, 18, 0.25);
    transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1),
                width 320ms cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
    z-index: 0;
    will-change: transform, width;
}

.lq-pf__btn {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: 9999px;
    border: none;
    background: transparent;
    font-size: 13.5px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: rgba(0, 0, 0, 0.45);
    cursor: pointer;
    white-space: nowrap;
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1),
                transform 250ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, color;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    outline: none;
	font-family: "Miranda Sans", Sans-serif;
	
}



/* hover + keyboard focus only on buttons that are NOT active */
.lq-pf__btn:not(.lq-pf__btn--active):hover,
.lq-pf__btn:not(.lq-pf__btn--active):focus-visible {
    color: #CF1212 !important;
    background: #fff !important;
}

.lq-pf__btn:active { transition-duration: 80ms; }

/* active button: white text on the red indicator, even while focused */
.lq-pf__btn--active,
.lq-pf__btn--active:hover,
.lq-pf__btn--active:focus,
.lq-pf__btn--active:focus-visible {
    color: #fff !important;
    background: transparent !important;   /* red comes from the indicator behind it */
    pointer-events: none;
}

.lq-pf__btn:active {
    transition-duration: 80ms;
}

.lq-pf__btn--active {
    color: #ffffff;
    pointer-events: none;
}

.lq-pf__btn--active:hover {
    color: #ffffff;
    transform: none;
}

.lq-pf__empty {
    width: 100%;
    text-align: center;
    padding: 60px 20px;
    color: rgba(0, 0, 0, 0.35);
    font-size: 14px;
    font-weight: 400;
}

.lq-pf__loading {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity 200ms ease;
}

.lq-pf__debug {
    margin-top: 12px;
    padding: 12px 16px;
    background: #0d1117;
    color: #00ff88;
    font: 12px/1.6 monospace;
    border-radius: 8px;
    white-space: pre-wrap;
    word-break: break-all;
    border: 1px solid rgba(0, 255, 136, 0.2);
}

@media (max-width: 768px) {
    .lq-pf__track {
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -ms-overflow-style: none;
        flex-wrap: nowrap;
        border-radius: 9999px;
    }

    .lq-pf__track::-webkit-scrollbar {
        display: none;
    }

    .lq-pf__btn {
        padding: 7px 14px;
        font-size: 13px;
        flex-shrink: 0;
    }
}

@media (max-width: 480px) {
    .lq-pf__btn {
        padding: 6px 12px;
        font-size: 12.5px;
    }
}



/* Post Grid filter End */
































/* Policies CSS */

.lqpolicy {
  font-family: "Miranda Sans", Sans-serif!important;
  color: #666!important;
  line-height: 1.7em;
  font-size: 1rem;
}

.lqpolicy h2,
.lqpolicy h3,
.lqpolicy h4,
.lqpolicy h5,
.lqpolicy h6 {
  color: #333!important;
  font-family: "Miranda Sans", Sans-serif!important;
  line-height: 1.3em;
  margin: 1.4rem 0 0.5rem;
  font-weight: 700;
}

.lqpolicy h2 { font-size: clamp(1.15rem, 2.2vw, 1.35rem); }
.lqpolicy h3 { font-size: clamp(1.05rem, 1.9vw, 1.18rem); }
.lqpolicy h4 { font-size: clamp(0.97rem, 1.7vw, 1.07rem); }
.lqpolicy h5 { font-size: clamp(0.93rem, 1.5vw, 1rem); }
.lqpolicy h6 { font-size: 0.88rem; text-transform: uppercase; letter-spacing: 0.06em; color: #CF1212; }

.lqpolicy p {
  font-size: clamp(1rem, 1.5vw, 1rem);
  color: #666!important;
  margin: 0 0 1rem;
  line-height: 1.85em;
	font-family: "Miranda Sans", Sans-serif!important;
}

.lqpolicy ul,
.lqpolicy ol {
  color: #666;
  padding-left: 1.4rem;
  margin: 0 0 1rem;
}

.lqpolicy ul li,
.lqpolicy ol li {
  font-size: clamp(1rem, 1.5vw, 1rem);
  line-height: 1.8;
  margin-bottom: 0.4rem;
  opacity: 1;
  transform: none;
}

.lqpolicy ul li::marker {
color: #333!important;
}

.lqpolicy ol {
  list-style-type: decimal;
}

.lqpolicy ol li::marker {
  color: #CF1212;
  font-weight: 700;
}

.lqpolicy strong,
.lqpolicy b {
  color: #333;
  font-weight: 700;
}

.lqpolicy a {
  color: #CF1212;
  text-decoration: none;
  border-bottom: 1px solid rgba(207, 18, 18, 0.3);
  transition: border-color 0.2s ease;
}

.lqpolicy a:hover {
  border-bottom-color: #CF1212;
}

/* ── Responsive ── */

@media (max-width: 1024px) {
  .lqpolicy h2 { font-size: 1.22rem; }
  .lqpolicy h3 { font-size: 1.08rem; }
}

@media (max-width: 768px) {
  .lqpolicy { font-size: 0.94rem; }
  .lqpolicy h2 { font-size: 1.13rem; margin-top: 1.2rem; }
  .lqpolicy h3 { font-size: 1.02rem; }
  .lqpolicy h4, .lqpolicy h5 { font-size: 0.95rem; }
  .lqpolicy ul, .lqpolicy ol { padding-left: 1.2rem; }
}

@media (max-width: 480px) {
  .lqpolicy { font-size: 0.91rem; line-height: 1.78; }
  .lqpolicy h2 { font-size: 1.05rem; }
  .lqpolicy h3 { font-size: 0.98rem; }
  .lqpolicy h4, .lqpolicy h5, .lqpolicy h6 { font-size: 0.92rem; }
}

@media (max-width: 360px) {
  .lqpolicy { font-size: 0.87rem; line-height: 1.75; }
  .lqpolicy h2 { font-size: 1rem; }
}








.e-n-menu-item .e-n-menu-title {
    position: relative !important;
}

.e-n-menu-item .e-n-menu-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background: #CF1212 !important;
    border-radius: 9999px 9999px 0 0 !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform;
    pointer-events: none !important;
}

@media (hover: hover) {
    .e-n-menu-item:hover .e-n-menu-title::after {
        transform: scaleX(1) !important;
    }
}

.e-n-menu-item .e-n-menu-title:has(> .e-n-menu-title-container > .e-n-menu-dropdown-icon[aria-expanded="true"])::after,
.e-n-menu-item .e-n-menu-title:has(> .e-n-menu-title-container[aria-expanded="true"])::after {
    transform: scaleX(1) !important;
}

.e-n-menu-item:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) .e-n-menu-title::after {
    transform: scaleX(1) !important;
}

@media (max-width: 1024px) {
    .e-n-menu-item .e-n-menu-title::after {
        display: none !important;
    }
}


.elementor-widget-n-menu .e-n-menu-content {
    box-shadow: 0 12px 10px rgba(0, 0, 0, 0.08);
}







.headerlqfinal{
    position: relative;
    width: 100%;
    z-index: 9999;
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background-color .3s ease;
}

.headerlqfinal.lq-sticky{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    width: 100%;

    background: #fff;

    z-index: 9999;

    box-shadow:
        0 4px 12px rgba(0,0,0,.04),
        0 12px 32px rgba(0,0,0,.08);
}

.headerlqfinal.lq-menu-open{
    box-shadow:none;
}

















/* Breadcrumb Container */
.woocommerce-breadcrumb{
    display:flex;
    align-items:center;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Home Link */
.woocommerce-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:6px;

    text-decoration:none;

    transition:color .2s cubic-bezier(0.16,1,0.3,1);
}

/* Hover */
.woocommerce-breadcrumb a:hover{
    color:#d71920; /* your red */
}

/* Home SVG */
.woocommerce-breadcrumb a:first-child::before{
    content:"";

    width:16px;
    height:16px;

    flex-shrink:0;

    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H7C4.79086 21 3 19.2091 3 17V10.7076C3 9.30887 3.73061 8.01175 4.92679 7.28679L9.92679 4.25649C11.2011 3.48421 12.7989 3.48421 14.0732 4.25649L19.0732 7.28679C20.2694 8.01175 21 9.30887 21 10.7076V17C21 19.2091 19.2091 21 17 21H15M9 21V17C9 15.3431 10.3431 14 12 14C13.6569 14 15 15.3431 15 17V21M9 21H15'/%3E%3C/svg%3E");
}


/* Align radio buttons perfectly with text */
.elementor-field-option{
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.elementor-field-option input[type="radio"]{
    margin: 0;
    vertical-align: middle;
}

.elementor-field-option label{
    margin: 0;
    line-height: 1.4;
}














/* ── Blog Card Hover — lqcard-blogpagetem ── */

.lqcard-blogpagetem .elementor-post {
    transition:
        transform 320ms cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 320ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, box-shadow;
}

@media (hover: hover) {
    .lqcard-blogpagetem .elementor-post:hover {
        transform: translateY(-5px) !important;
        box-shadow:
            0 2px 4px rgba(0, 0, 0, 0.03),
            0 8px 20px rgba(0, 0, 0, 0.08),
            0 20px 40px rgba(0, 0, 0, 0.06) !important;
    }

  .lqcard-blogpagetem .elementor-post:hover .elementor-post__title,
    .lqcard-blogpagetem .elementor-post:hover .elementor-post__title a {
        color: #CF1212 !important;
    }

    .lqcard-blogpagetem .elementor-post:hover .elementor-post__read-more {
        color: #CF1212 !important;
        gap: 5px !important;
    }

    .lqcard-blogpagetem .elementor-post:hover .elementor-post__read-more::after {
        transform: translateX(3px) !important;
    }
}

/* Arrow on read more */
.lqcard-blogpagetem .elementor-post__read-more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-weight: 500 !important;
    transition:
        color 260ms cubic-bezier(0.16, 1, 0.3, 1),
        gap   260ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.lqcard-blogpagetem .elementor-post__read-more::after {
    content: '' !important;
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4,9.88,10.81,5.29a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.42L14,11.29a1,1,0,0,1,0,1.42L9.4,17.29a1,1,0,0,0,1.41,1.42l4.59-4.59A3,3,0,0,0,15.4,9.88Z'/%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4,9.88,10.81,5.29a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.42L14,11.29a1,1,0,0,1,0,1.42L9.4,17.29a1,1,0,0,0,1.41,1.42l4.59-4.59A3,3,0,0,0,15.4,9.88Z'/%3E%3C/svg%3E") no-repeat center / contain !important;
    flex-shrink: 0 !important;
    transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    vertical-align: middle !important;
}

/* Focus state for keyboard users */
.lqcard-blogpagetem .elementor-post:focus-within {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
}

/* Active / tap state for mobile */
.lqcard-blogpagetem .elementor-post:active {
    transform: translateY(-2px) !important;
    transition-duration: 80ms !important;
}


/* ── Mobile tap active state — mirrors desktop hover ── */

.lqcard-blogpagetem .elementor-post:active .elementor-post__title,
.lqcard-blogpagetem .elementor-post:active .elementor-post__title a {
    color: #CF1212 !important;
}

.lqcard-blogpagetem .elementor-post:active .elementor-post__read-more {
    color: #CF1212 !important;
}

/* Focus-visible for keyboard navigation on all devices */
.lqcard-blogpagetem .elementor-post:focus-within .elementor-post__title,
.lqcard-blogpagetem .elementor-post:focus-within .elementor-post__title a {
    color: #CF1212 !important;
}

.lqcard-blogpagetem .elementor-post:focus-within .elementor-post__read-more {
    color: #CF1212 !important;
}































/* ============================================================
   GS Search — popup + results page styles  (v2: specificity fixes)
   Scoped under .gs-modal / .gs-page. Uses theme tokens with fallbacks.
   Add to the child theme style.css (no extra request), or enqueue as /css/search.css.
   ============================================================ */

/* ---------- Tokens ---------- */
.gs-modal,
.gs-page {
    --gs-red: var(--primary-red, #CF1212);
    --gs-ink: #1c1c1f;
    --gs-ink-2: #5b5b62;
    --gs-mut: #9a9aa2;
    --gs-line: rgba(0, 0, 0, 0.07);
    --gs-soft: rgba(0, 0, 0, 0.045);
    font-family: inherit;
    color: var(--gs-ink);
    -webkit-font-smoothing: antialiased;
}

/* ---------- Resets (ZERO specificity via :where so component classes always win,
   and so Elementor/theme element styles can't bleed in) ---------- */
.gs-modal *, .gs-modal *::before, .gs-modal *::after,
.gs-page *, .gs-page *::before, .gs-page *::after { box-sizing: border-box; }

:where(.gs-modal, .gs-page) a {
    text-decoration: none;
    color: inherit;
    border: 0;
    box-shadow: none;
    background: none;
}
:where(.gs-modal, .gs-page) button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    margin: 0;
    padding: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
:where(.gs-modal, .gs-page) input { font: inherit; }
:where(.gs-modal, .gs-page) img { display: block; max-width: 100%; }
:where(.gs-modal) svg { display: block; }

/* hidden-state guards: must beat any inherited display rule */
.gs-modal[hidden] { display: none !important; }
.gs-modal [hidden] { display: none !important; }
.gs-page [hidden] { display: none !important; }

/* ---------- Overlay + panel ---------- */
.gs-modal {
    position: fixed;
    inset: 0;
    z-index: 2000000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.gs-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

.gs-modal__panel {
    position: relative;
    width: 100%;
    max-width: 600px;
    max-height: 72vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22), 0 4px 14px rgba(0, 0, 0, 0.10);
    overflow: hidden;
}

.gs-modal--open .gs-modal__backdrop { animation: gs-fade .2s ease both; }
.gs-modal--open .gs-modal__panel { animation: gs-pop .26s cubic-bezier(0.16, 1, 0.3, 1) both; }
@keyframes gs-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes gs-pop {
    from { opacity: 0; transform: translateY(8px) scale(0.985); }
    to   { opacity: 1; transform: none; }
}

/* ---------- Header / input ---------- */
.gs-modal__header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 14px;
    border-bottom: 1px solid var(--gs-line);
}


.gs-search {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 5px 10px;
}


.gs-search__icon { display: grid; place-items: center; color: var(--gs-mut); flex: 0 0 auto; }
.gs-search__icon svg { width: 18px; height: 18px; }

/* borderless input — forced against theme/Elementor input styling */
.gs-search__input {
    flex: 1;
    min-width: 0;
    font-size: 16px;
    color: var(--gs-ink);
    padding: 6px 0!important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    height: auto !important;
    -webkit-appearance: none;
    appearance: none;
	font-family:"Miranda Sans", Sans-serif!important;
}
.gs-search__input::placeholder { color: #a8a8b0; font-family:"Miranda Sans", Sans-serif!important; }
.gs-search__input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; font-family:"Miranda Sans", Sans-serif!important;}
.gs-search__input::-webkit-search-decoration { -webkit-appearance: none; font-family:"Miranda Sans", Sans-serif!important;}

/* small circular CLEAR button (distinct from the modal close) */


.gs-search__clear {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    color: #666 !important;
    background: rgb(255 255 255 / 6%) !important;
    flex: 0 0 auto;
    transition: background .18s, color .18s;
    border-width: 0!important;
}


.gs-search__clear:hover { background: rgba(0, 0, 0, 0.12); color: var(--gs-ink)!important; }
.gs-search__clear svg { width: 12px; height: 12px; }

.gs-search__spinner { display: grid; place-items: center; color: var(--gs-red)!important; flex: 0 0 auto; }
.gs-search__spinner svg { width: 16px; height: 16px; animation: gs-spin .8s linear infinite; }
@keyframes gs-spin { to { transform: rotate(360deg); } }

/* modal CLOSE button (top-right) */
.gs-modal__close {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    color: var(--gs-ink-2);
    flex: 0 0 auto;
    margin-left: 2px;
    transition: background .18s, color .18s;
	border: 1px solid #e8e8e8 !important;
	    justify-content: center!important;
}
.gs-modal__close:hover { background: rgba(0, 0, 0, 0.06)!important; color: #fff!important; background-color: #CF1212!important; border: 1px solid #CF1212!important;}
.gs-modal__close svg { width: 16px; height: 16px; }

/* ---------- Body / results ---------- */
.gs-modal__body {
    position: relative;
    flex: 1;
    min-height: 120px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px;
}
.gs-modal__body::-webkit-scrollbar { width: 12px; }
.gs-modal__body::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.16);
    border-radius: 8px;
    border: 4px solid #fff;
}

.gs-results { display: flex; flex-direction: column; }

.gs-group { padding: 8px 4px; }
.gs-group__label {
	font-family:"Miranda Sans", Sans-serif!important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: capitalize;
    color: var(--gs-mut);
    padding: 4px 10px;
}
.gs-group__list { display: flex; flex-direction: column; gap: 1px; margin-top: 2px; }

.gs-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 10px;
    border-radius: 10px;
    transition: background .15s ease;
}
.gs-item:hover, .gs-item.is-active { background: var(--gs-soft); }

.gs-item__thumb, .gs-item__icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.04);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.gs-item__thumb img { width: 100%; height: 100%; object-fit: contain; }
.gs-item__icon img { width: 22px; height: 22px; object-fit: contain; }

.gs-item__body { display: flex; flex-direction: column; gap: 1px; min-width: 0;  font-family:"Miranda Sans", Sans-serif!important;}
.gs-item__title {
    font-size: 14px;
    font-weight: 500;
    color: #23232a;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gs-item__title mark { background: transparent; color: var(--gs-red); font-weight: 600; }
.gs-item__meta { font-size: 12px; color: var(--gs-mut); }

/* recent / suggestion chips */
.gs-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 10px 2px; }



.gs-chip {
    padding: 6px 13px;
    border-radius: 9999px;
    background: rgba(0, 0, 0, 0.05);
    font-size: 12.5px;
    color: #666;
    transition: background .15s, color .15s;
    font-family: "Miranda Sans", Sans-serif!important;
    border: 1px solid #e8e8e8;
}

.gs-chip:hover { background: rgba(207, 18, 18, 0.08)!important; color: var(--gs-red)!important; }

/* ---------- States ---------- */
.gs-state { padding: 6px; }
.gs-skeleton {
    height: 56px;
    border-radius: 10px;
    margin: 4px 6px;
    background: linear-gradient(100deg, rgba(0,0,0,0.05) 30%, rgba(0,0,0,0.09) 50%, rgba(0,0,0,0.05) 70%);
    background-size: 200% 100%;
    animation: gs-shimmer 1.2s ease-in-out infinite;
}
@keyframes gs-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

.gs-empty__title { font-size: 15px; font-weight: 600; color: #23232a; text-align: center; padding: 26px 16px 4px; }
.gs-empty__text { font-size: 13px; color: var(--gs-mut); text-align: center; padding: 0 16px 18px; }

/* ---------- Footer ---------- */
.gs-modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--gs-line);
}
.gs-viewall { font-size: 13px; font-weight: 600; color: var(--gs-red); font-family: "Miranda Sans", Sans-serif!important; }
.gs-viewall:hover { color:#171717!important; font-family: "Miranda Sans", Sans-serif!important; }
.gs-hint { font-size: 11.5px; color: #a8a8b0; white-space: nowrap; font-family: "Miranda Sans", Sans-serif!important; }

/* screen-reader status */
.gs-status {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* focus */
.gs-modal__close:focus-visible,
.gs-search__clear:focus-visible,
.gs-item:focus-visible,
.gs-chip:focus-visible,
.gs-viewall:focus-visible {
    outline: 2px solid var(--gs-red);
    outline-offset: 2px;
    border-radius: 8px;
}

/* ---------- Mobile: full-screen sheet ---------- */
@media (max-width: 600px) {
    .gs-modal { padding: 0; }
    .gs-modal__panel {
        max-width: none;
        width: 100%;
        height: 100%;
        max-height: none;
        border-radius: 0;
    }
    .gs-modal--open .gs-modal__panel { animation: gs-sheet .26s cubic-bezier(0.16, 1, 0.3, 1) both; }
}
@keyframes gs-sheet {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
}

/* ============================================================
   Results page  (/search-results/?gs_q=...)
   ============================================================ */
.gs-page__inner { max-width: 1450px; margin: 0 auto; padding: 48px 0px 100px;  width:95%!important;}

.gs-page__form { display: flex; gap: 8px; width:100%; margin: 0 0 28px; }
.gs-page__input {
    flex: 1;
    border: 1px solid #e8e8e8!important; 
    border-radius: 8px!important;
    padding: 12px 14px!important;
    font-size: 15px;
    outline: none;
    transition: border-color .18s, box-shadow .18s!important;
	font-family: "Miranda Sans", Sans-serif!important; 
}





.gs-page__input {
    padding-right: 18px !important;
}


.gs-page__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    height: 14px;
    width: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9aa2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.gs-page__input::-webkit-search-cancel-button:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
}





.gs-search {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 5px 10px;
}


.gs-page__input:focus { border-color: var(--gs-red); box-shadow: 0 0 0 3px rgba(207, 18, 18, 0.12); }
.gs-page__submit {
    padding: 12px 22px;
    border-radius: 10px;
    background: var(--gs-red);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    transition: filter .18s, transform .18s;
	font-family: "Miranda Sans", Sans-serif!important;
	border: 1px solid var(--gs-red)!important;
}
.gs-page__submit:hover { filter: brightness(1.05); transform: translateY(-1px); background: var(--gs-red)!important;}

.gs-page__title { font-size: 22px; font-weight: 500; margin: 0 0 4px; line-height: 1.2; font-family: "Miranda Sans", Sans-serif!important;  }
.gs-page__count { color: var(--gs-mut); font-size: 14px; margin: 0 0 24px;  font-family: "Miranda Sans", Sans-serif!important; }

.gs-page__filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.gs-page__filter {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 15px;
    border-radius: 9999px;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    color: #666!important;
    line-height: 1;
    transition: background .18s, color .18s;
	font-family: "Miranda Sans", Sans-serif!important; 
	border: 1px solid #e8e8e8!important;
}







.gs-page__filter:hover {
    background: #fff!important;
    color: var(--gs-ink)!important;
}

.gs-page__filter.is-active:hover  { color: var(--gs-ink)!important; }

.gs-page__filter.is-active { background: var(--gs-red); color: #fff!important; }
.gs-page__filter-count { font-size: 11.5px; font-weight: 600; opacity: 0.6; font-family: "Miranda Sans", Sans-serif!important;  }
.gs-page__filter.is-active .gs-page__filter-count { opacity: 0.85; }

.gs-section { margin: 0 0 40px; }
.gs-section[hidden] { display: none !important; }
.gs-section__title {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: capitalize;
    color: var(--gs-mut);
    margin: 0 0 16px;
	 font-family: "Miranda Sans", Sans-serif!important; 
}


/* 1. Default State: Flexbox (For Pages, Categories, etc.) */
.gs-section__grid { 
    display: flex; 
    flex-wrap: wrap;
    gap: 16px; 
}

/* 2. Conditional State: CSS Grid (ONLY if it contains a Product or a Post) */
.gs-section__grid:has(.gs-card--product),
.gs-section__grid:has(.gs-card--post) { 
    display: grid; 
    grid-template-columns: repeat(4, minmax(0, 1fr)); 
    width: 100%;
}

.gs-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
   padding: 13px 10px 10px 10px;
    border-radius: 13px;
    background: #fff;
    transition: box-shadow .2s, transform .2s, border-color .2s;
	border: 1px solid #fff!important;
}




.gs-card:hover {
   border: 1px solid #e8e8e8!important;
    transform: translateY(-2px);
    border-color: rgba(0, 0, 0, 0.05);
}
.gs-card__thumb, .gs-card__icon {
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
    background: #fff!important;
    display: grid;
    place-items: center;
	 border: 1px solid #D2D1D6!important;
	 border-radius: 8px!important;
}


a.gs-card.gs-card--page {
    width: fit-content!important;
}




.gs-card__thumb img { width: 100%; height: 100%; object-fit: contain;  background: #fff!important; object-position: center center; }
.gs-card--post .gs-card__thumb img {
    object-fit: cover !important;
}
.gs-card__icon img { width: 40px; height: 40px; object-fit: contain; }
.gs-card__title { font-size: 14px; font-weight: 500; line-height: 1.4; color: #23232a; transition: color .18s; font-family: "Miranda Sans", Sans-serif!important;  }


.gs-card--post .gs-card__title {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.gs-card:hover .gs-card__title { color: var(--gs-red); }
.gs-card__meta { font-size: 12.5px; color: var(--gs-mut); }

.gs-page__empty { text-align: center; padding: 64px 20px; }
.gs-page__empty-title { font-size: 20px; font-weight: 700; margin: 0 0 6px; font-family: "Miranda Sans", Sans-serif!important; }
.gs-page__empty-text { color: var(--gs-mut); font-size: 14px; margin: 0; font-family: "Miranda Sans", Sans-serif!important; }


@media (max-width: 1024px) { 
    .gs-section__grid:has(.gs-card--product),
    .gs-section__grid:has(.gs-card--post) { 
        grid-template-columns: repeat(3, minmax(0, 1fr)); 
    } 
}
@media (max-width: 768px) {
    .gs-page__inner { padding: 32px 16px 64px; }
    .gs-page__title { font-size: 16px; }
    .gs-section__grid:has(.gs-card--product),
    .gs-section__grid:has(.gs-card--post) { 
        grid-template-columns: repeat(2, minmax(0, 1fr)); 
    }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    .gs-modal *, .gs-modal *::before, .gs-modal *::after,
    .gs-page *, .gs-page *::before, .gs-page *::after {
        animation: none !important;
        transition: none !important;
    }
}

