/* =======================================
   Reset & Base Styles
========================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 200px;
}

body {
    padding-top: 0;
    transition: padding-top 0.3s ease;
}

body.has-sticky-header {
    padding-top: 80px;
}

a {
    color: #337ab7;
    text-decoration: none;
    transition: color 0.3s ease;
}

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

/* =======================================
   Layout & Container
========================================== */
.container {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
}

.container-fluid {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.row {
    margin-left: 0px;
    margin-right: 0px;
}

.row-custom {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
}

.row-custom:after {
    content: "";
    display: table;
    clear: both;
}

/* Column Layouts */
.column-half {
    float: left;
    width: 50%;
    padding: 12px 12px 12px 2px;
}

.column-three {
    float: left;
    padding: 12px;
    width: 300px;
    box-sizing: border-box;
}

.hcolumn-three {
    float: left;
    padding: 12px;
    width: 464px;
    box-sizing: border-box;
}

/* =======================================
   Header & Navigation
========================================== */
.header {
    position: fixed;
    top: 44px;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 9999;
    transition: transform 0.3s ease, top 0.3s ease;
    border-bottom: 1px solid #e0e0e0;
}

.header.sticky {
    position: fixed;
    top: 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.nav-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    position: relative;
    z-index: 999999 !important;
}

/* Logo */
.logo {
    margin-left: 16px;
}

.custom-logo {
    max-height: 60px;
    width: auto;
}

/* Desktop Menu */
.desktop-menu {
    display: flex;
    align-items: center;
}

.desktop-menu .menu {
    list-style: none;
    display: flex;
    gap: 14px;
    margin-top: 7px;
}

.desktop-menu .menu a {
    font-weight: 800;
    font-size: 95%;
    padding: 8px 0;
    color: #333;
    transition: color 0.3s ease;
}

.desktop-menu .menu a:hover {
    color: #007acc;
}

/* Submenu Styles */
.desktop-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    background: #fff;
    min-width: 200px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 1000;
}

.desktop-menu li:hover > .sub-menu {
    display: block;
}

.desktop-menu .sub-menu li a {
    padding: 10px 15px;
    display: block;
    color: #333;
    transition: background 0.3s ease;
}

.desktop-menu .sub-menu li a:hover {
    background: #f5f5f5;
}

/* =======================================
   Mobile Menu
========================================== */
.hamburger-menu {
    display: none;
    flex-direction: column;
    justify-content: space-around;
    width: 90px;
    height: 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1000;
    transition: all 0.3s ease;
    margin: 0 auto;
}

.hamburger-line {
    width: 30px;
    height: 3px;
    background: #333;
    border-radius: 3px;
    transition: all 0.3s linear;
    position: relative;
    transform-origin: 1px;
}

.mobile-menu {
    display: none;
    position: fixed;
    top: 80px;
    left: 0;
    width: 100%;
    height: calc(100vh - 80px);
    background: white;
    padding: 20px;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    overflow-y: auto;
    z-index: 999;
    box-shadow: 2px 0 10px rgba(0,0,0,0.1);
}

.mobile-menu.open {
    transform: translateX(0);
}

.mobile-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-menu-list li {
    margin: 0;
    position: relative;
    border-bottom: 1px solid #f0f0f0;
}

.mobile-menu-list a {
    color: #333;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    display: block;
    padding: 12px 40px 12px 10px;
    transition: background-color 0.2s ease;
}

/* =======================================
   Product Grid & Cards
========================================== */
.product-archive {
    padding: 2rem 0;
}

.category-products {
    display: grid;
    gap: 20px;
    margin: 20px 0;
    padding: 50px;
}

.category-products.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.category-products.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.category-products.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.product-item {
    background: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.product-item:hover {
    transform: translateY(-5px);
}

.product-title {
    font-size: 18px;
    font-weight: 500;
    color: #333;
    margin: 0 0 15px;
    margin-top: 60px !important;
    min-height: 78px !important;
    text-align: left !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
    white-space: normal !important;
}

.product-description {
    min-height: 100px !important;
    padding: 0 1rem;
    font-size: 1.5rem;
    color: #666;
    line-height: 1.4;
    margin-bottom: 0.5rem;
}

/* =======================================
   Footer
========================================== */
.locations {
    padding: 20px 0;
    border-top: 18px solid #006634;
    border-bottom: unset;
    background: #006634;
    color: #fff;
}

.accessibility-pricing {
    background: #006634;
    padding: 0px 0;
}

.footer-quick-links,
.footer-accessibility,
.footer-pricing,
.footer-legal {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-quick-links li,
.footer-accessibility li,
.footer-pricing li {
    margin-bottom: 10px;
    color: #fff !important;
}

.footer-quick-links li a,
.footer-accessibility li a,
.footer-legal li a {
    color: #ffffff;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-quick-links li a:hover,
.footer-accessibility li a:hover,
.footer-legal li a:hover {
    opacity: 0.8;
}

.sub-footer {
    padding: 15px 0;
    background: #333;
    color: #fff;
    height: 0px;
    line-height: 0px;
    margin-bottom: 0px !important;
}

/* =======================================
   Media Queries
========================================== */
@media (min-width: 1200px) {
    .container {
        width: 1330px;
    }
    
    .header {
        top: 17px !important;
    }
    
    #wu-form form input {
        width: 153px;
        margin-right: 8px;
    }
    
 
    
    .product-description {
        min-height: 100px !important;
    }
    
    .category-products-grid.columns-3 > .product-item {
        width: 30% !important;
        float: left !important;
    }
}

@media (max-width: 992px) {
    .desktop-menu {
        display: none;
    }
    
    .hamburger-menu {
        display: flex;
    }
    
    .mobile-menu {
        display: block;
    }
    
    .custom-logo {
        max-height: 50px;
    }
    
    .category-products.columns-4,
    .category-products.columns-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .header {
        top: 120px;
    }
    
    body.has-sticky-header {
        padding-top: 180px;
    }
    
    .top-bar-content {
        flex-direction: column;
        padding: 8px 0;
    }
    
    .column-half,
    .column-three {
        width: 100%;
    }
    
    .category-products.columns-4,
    .category-products.columns-3,
    .category-products.columns-2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 10px;
    }
    
    .header-wrapper {
        display: none;
    }
    
    .cta-video {
        display: none;
    }
    
    div#slider {
        margin-top: 70px;
    }
    
    .top-bar {
        display: none;
    }
    
    .header .nav-content {
        width: 24%;
    }
    
    .custom-logo {
        max-height: 40px;
    }
    
    .top-bar-content {
        padding: 5px 0;
    }
    
    .contact-link {
        font-size: 32px;
        padding: 3px 8px;
    }
    
    footer.accessibility-pricing {
        margin-top: 400px;
    }
}

/* =======================================
   Utilities
========================================== */
.green {
    color: #006634;
    font-weight: bold;
}

.image-green-box {
    background-color: #006634;
    color: #fff;
    text-align: center;
    padding: 6px;
    font-weight: bold;
    margin-top: 0px;
}

.image-green-box:hover {
    background-color: #003300;
    font-size: 1.8rem;
    cursor: pointer;
}

.skip-link {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.skip-link:focus {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: auto;
    background: #fff;
    padding: 8px 16px;
    z-index: 999;
    color: #007acc;
}

/* Loading Animation */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

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

@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}

.loading {
    background: linear-gradient(to right, #f6f7f8 8%, #edeef1 18%, #f6f7f8 33%);
    background-size: 1000px 100%;
    animation: shimmer 2s infinite linear;
}




@media (min-width: 1200px) {
    .container {
        width: 1330px;
    }
}
@media screen and (min-width: 992px) {
    .bottom-body .content-area, .content-body .content-area, .top-body .content-area {
        width: 100.9997%;
       padding: 0px;
    }
}
@media screen and (min-width: 1000px) {
    .rosi-category__grid-2022 {
        WIDTH: 1000PX ! IMPORTANT;
        MARGIN: 0 AUTO;
    }
	@media screen and (min-width: 1200px) {
    #wu-form form {
        padding-top: 40px;
        width: 83.4997%;
        padding-left: 14%;
    }
}
}






@media (max-width: 480px) {
footer.accessibility-pricing {
    margin-top: 400px;
}
}

.locations .loc-name a {
    color: #ffffff !important;
}



.site-navigation-wrapper .desktop-menu .menu-item-has-children {
    position: relative;
}

.site-navigation-wrapper .desktop-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000; /* Higher z-index to stay above carousel elements */
    min-width: 200px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.site-navigation-wrapper .desktop-menu .menu-item-has-children:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Nested submenu positioning (second level and beyond) */
.site-navigation-wrapper .desktop-menu .sub-menu .sub-menu {
    top: 0;
    left: 100%;
    transform: translateX(10px);
}

.site-navigation-wrapper .desktop-menu .sub-menu .menu-item-has-children:hover > .sub-menu {
    transform: translateX(0);
}

/* Mobile menu submenu styling with unique selectors */
.site-navigation-wrapper .mobile-menu .sub-menu {
    display: none;
    padding-left: 20px;
    width: 100%;
    position: relative;
}

.site-navigation-wrapper .mobile-menu .menu-item-has-children.open > .sub-menu {
    display: block;
}

.site-navigation-wrapper .submenu-toggle {
    background: transparent;
    border: none;
    color: inherit;
    font-size: 18px;
    width: 30px;
    height: 30px;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 5px;
    cursor: pointer;
}

/* Cross-browser specific fixes */
@supports (-ms-ime-align: auto) {
    /* Edge specific fix */
    .site-navigation-wrapper .desktop-menu .sub-menu,
    .site-navigation-wrapper .mobile-menu .sub-menu {
        transform: none;
    }
    .site-navigation-wrapper .desktop-menu .menu-item-has-children:hover > .sub-menu,
    .site-navigation-wrapper .desktop-menu .sub-menu .menu-item-has-children:hover > .sub-menu {
        transform: none;
    }
}


.header {
  position: relative;
  z-index: 999999 !important;
}

.nav-content {
  position: relative;
  z-index: 999999 !important;
}

.rev_slider_wrapper,
.rev_slider,
.tp-fullwidth-forcer,
.tp-mask-wrap,
.tp-caption,
.tp-bannertimer,
.tp-bullets {
  z-index: 10 !important;
}


div#slider {
    margin-top: 0px;
}


@media screen and (min-width: 992px) {
    .header {
        top: 17px !important;
    }
}






div#header-image {
    Z-INDEX: 1;
}
.rev_slider_wrapper {
  z-index: 1 !important; 
}
/* ============================================
   Main Mobile Menu Styles
============================================ */

/* 
Hamburger menu button - displays three horizontal lines 
that transform into an X when clicked
*/
.hamburger-menu {
    display: none; /* Hidden on desktop */
    flex-direction: column;
    justify-content: space-around;
    width: 90px;
    height: 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1000;
    transition: all 0.3s ease;
}

/* Hamburger menu lines */
.hamburger-line {
    width: 30px;
    height: 3px;
    background: #333;
    border-radius: 3px;
    transition: all 0.3s linear;
    position: relative;
    transform-origin: 1px;
}

/* Transform lines to X when open */
.hamburger-menu.open .hamburger-line:nth-child(1) {
    transform: rotate(45deg);
}

.hamburger-menu.open .hamburger-line:nth-child(2) {
    opacity: 0;
    transform: translateX(20px);
}

.hamburger-menu.open .hamburger-line:nth-child(3) {
    transform: rotate(-45deg);
}

/* 
Main mobile menu container 
that slides in from the left
*/
.mobile-menu {
    display: none; /* Hidden on desktop */
    position: fixed;
    top: 80px; /* Distance from top - should match header height */
    left: 0;
    width: 100%;
    height: calc(100vh - 80px); /* Full viewport height minus header */
    background: white;
    padding: 20px;
    transform: translateX(-100%); /* Initially off-screen */
    transition: transform 0.3s ease-in-out;
    overflow-y: auto; /* Allow vertical scrolling */
    z-index: 999;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

/* Mobile menu open state */
.mobile-menu.open {
    transform: translateX(0); /* Slides into view */
}

/* Mobile menu list */
.mobile-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Mobile menu items */
.mobile-menu-list li {
    margin: 0;
    position: relative;
    border-bottom: 1px solid #f0f0f0;
}

.mobile-menu-list li:last-child {
    border-bottom: none;
}

/* Mobile menu links */
.mobile-menu-list a {
    color: #333;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    display: block;
    padding: 12px 40px 12px 10px; /* More space on right for toggle button */
    transition: background-color 0.2s ease;
}

.mobile-menu-list a:hover {
    background-color: #f8f8f8;
}

/* ============================================
   Submenu Styles
============================================ */

/* First level submenu */
.mobile-menu-list .sub-menu {
    display: none; /* Hidden by default */
    padding-left: 15px;
    background: #f5f5f5;
    border-radius: 5px;
    margin: 0 0 8px 0;
    list-style: none;
}

/* Second level submenu */
.mobile-menu-list .sub-menu .sub-menu {
    background: #e9e9e9; /* Different color for easier identification */
    margin-top: 5px;
    margin-bottom: 5px;
    border-radius: 4px;
}

/* Third level submenu */
.mobile-menu-list .sub-menu .sub-menu .sub-menu {
    background: #dedede; /* Different color for third level */
    border-radius: 3px;
}

/* Menu items with submenu */
.mobile-menu-list .menu-item-has-children {
    position: relative;
}

/* Toggle button for opening/closing submenus */
.submenu-toggle {
    position: absolute;
    right: 0;
    top: 5px;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    font-size: 20px;
    color: #333;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Adjust toggle button position in submenus */
.mobile-menu-list .sub-menu .submenu-toggle {
    top: 2px;
    width: 36px;
    height: 36px;
}

/* + and - icon for toggle button */
.toggle-icon {
    display: block;
    transition: transform 0.3s ease;
    font-weight: bold;
}

/* Rotate icon when open */
.menu-item-has-children.open > .submenu-toggle .toggle-icon {
    transform: rotate(45deg);
}

/* Show submenu when open */
.menu-item-has-children.open > .sub-menu {
    display: block;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ============================================
   Different styles for different menu levels
============================================ */

/* Main menu links */
.mobile-menu-list > li > a {
    font-size: 18px;
    font-weight: 600;
    padding: 14px 40px 14px 10px;
}

/* First level submenu links */
.mobile-menu-list .sub-menu > li > a {
    font-size: 16px;
    font-weight: 500;
    padding: 10px 40px 10px 10px;
    border-bottom: 1px solid #e8e8e8;
}

/* Second level submenu links */
.mobile-menu-list .sub-menu .sub-menu > li > a {
    font-size: 15px;
    font-weight: 400;
    padding: 8px 40px 8px 10px;
    border-bottom: 1px solid #e0e0e0;
}

/* Third level submenu links */
.mobile-menu-list .sub-menu .sub-menu .sub-menu > li > a {
    font-size: 14px;
    padding: 7px 40px 7px 10px;
    border-bottom: 1px solid #d8d8d8;
}

/* ============================================
   Responsive settings
============================================ */

@media (max-width: 992px) {
    /* Hide desktop menu */
    .desktop-menu {
        display: none;
    }
    /* Show hamburger button and mobile menu */
    .hamburger-menu {
        display: flex;
    }
    .mobile-menu {
        display: block;
    }
    
    /* Adjust logo size */
    .custom-logo {
        max-height: 50px;
    }
}

@media (max-width: 768px) {
    /* Stack elements in top bar */
    .top-bar-content {
        flex-direction: column;
        text-align: center;
    }
    .top-bar-section {
        margin: 5px 0;
    }
    /* Center social icons */
    .social-icons {
        justify-content: center;
    }
    /* Center contact links */
    .contact-link, .email-link {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    /* Further reduce logo size on small screens */
    .custom-logo {
        max-height: 40px;
    }
    /* Reduce padding in top bar */
    .top-bar-content {
        padding: 5px 0;
    }
    /* Adjust mobile menu padding */
    .mobile-menu {
        padding: 15px;
    }
}





/*
Theme Name:         Rosi
Theme URI:          http://rosiinc.com
Description:        Office Furniture Houston TX | Cubicles | Workstations | Chairs
Version:            2
Author:             Socius Marketing
Author URI:         https://sociusmarketing.com
Text Domain:        rosi
*/







input#gform_submit_button_2 {
    background: #ff6507;
}


.product-title {
    font-size: 18px;
    font-weight: 500;
    color: #333;
	    margin: 0 0 15px;
	    margin-top:60px !important;
    min-height: 78px!important;
}

.product-title, .woocommerce-loop-product__title {
    text-align: left !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
    white-space: normal !important;
}
.container-fluid {
 
    padding-left: 0px !important;
    padding-right: 0px !important;
}
.gform-theme--foundation #field_submit {
    align-items: baseline;
}

div#gform_wrapper_3 ,div#gform_wrapper_4{
    padding: 20px;
}


#page-wrap > div.wrap > div > main > div.bottom-body > div.content-area {
    padding-left: 37px;
}

#swiper-wrapper-8d36a367bc53fc04 > div.swiper-slide.swiper-slide-active > div > a:nth-child(1) > img {
    max-height: 300px !important;
}
.category-products-carousel.product-carousel-9473 .product-item img {

    max-height: 330px !important;
}
div#gform_wrapper_1 {
    width: 80%;
}
@media screen and (min-width: 992px) {
    .bottom-body .content-area iframe, .content-body .content-area iframe, .top-body .content-area iframe {
        width: 100%;
        float: left;
        margin: 0 20px 10px 0;
    }
    #wu-form form input {
        width: 180px !important;
    }
    
    div#gform_fields_2 {
        width: 763px;
    }
    
    .gform-theme--foundation .gform-grid-row {
        flex-flow: nowrap !important;
    }
}

@media screen and (max-width: 560px) {
    div#live_chat_status {

        z-index: 88;
    }
	.mobile-menu {
   
    z-index: 9999999999999999999999999 !important;
}
.arcu-widget.left.arcu-message {
    bottom: 10px;
    z-index: 88;
}
}








.row {
    margin-left: 0px;
    margin-right: 0px;
}
.logo {
    margin-left: 16px;
}

@media (max-width: 390px) {
    .container, 
    .homecat2025 {
        width: 100%;
        max-width: 390px;
    }
    

    .category-products-carousel.mobile-hidden {
        display: none;
    }
}

@media (min-width: 391px) and (max-width: 768px) {
    .category-products-carousel.product-carousel-3783 {
        padding: 20px;
        display: none;
    }
}


#page-wrap > div.wrap > div > main > div.top-body > div > div.row {
    background: #006634;
}



#page-wrap > div.wrap > div > main > div.top-body > div > div.raw {
    background: #006634;
    margin-top: -5px;
}
.bottom-body .content-area, .content-body .content-area, .top-body .content-area {
        width: 100%;
        padding: 0px;
    }

.green {

    width: 85%;
}		
	
	







div#live_chat_status {
    right: 93px !important;
    bottom: 0px;
}





#live_chat_status .liveChatIcon {
    font-size: 45px;
    color: #fff;
    line-height: 70px !important;
    display: none;
}
#live_chat_status .button_icon_parent {
    background-color: #01204f;
    border-radius: 48px;
    height: 159px;
    width: 106px;
    margin: 0 auto;
    text-align: center;
    background: url('https://www.rosiinc.com/wp-content/uploads/2025/03/eXPERT.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #00000000 !important;
}




@media screen and (min-width: 1200px) {
    #wu-form form input {
        width: 153px;
        margin-right: 8px;
    }


	#live_chat_status {

    z-index: 99;

}
	
	
	
	
	

    #wu-form form span {
        margin-right: 5px;
        width: 339px;
    }
	
	

.product-description {

    min-height: 100px!important;
}

.category-products-grid.columns-3 >.product-item  {
    width: 30% !important;
    float: left  !important;
}	
	
	
}






img.attachment-hero.size-hero.wp-post-image {
    MARGIN-TOP: 90PX;
}



.product-image {

    overflow: unset !important;
}
.single-product .share-print {

    display: none;
}





.homecat2025 {
    background: #006634;
    overflow: hidden;

 
    margin-top: -55px;
    padding-top: 20px;
}    

.hcolumn-three {
    float: left;
    padding: 12px;
    width: 464px;
    box-sizing: border-box;
}
html {
    scroll-padding-top: 200px; 
}

#page-wrap > div.wrap > div > main > div.top-body > div > div.homer2025 > div:nth-child(4) > div:nth-child(3) {
    line-height: 2.5;
    padding-top: 97px;
}
    #wu-form form input {
 
        border-radius: 5px;
    }




@media screen and (min-width: 1100px) {
    #wu-form .col-sm-12 {
        margin-left: 100px;
    }
	.homer2025 {
    width: 1409px !important;
    overflow: hidden;
    padding: -7px;
}
}


.rosi__title-2022 {
    font-size: 32px;
    font-weight: 900;
    color: #fff;
    text-align: center;
}









@media screen and (max-width:560px){
	
.homer2025 {
    overflow: hidden;
    padding: 19px !important;
}
	#wu-form img.get-quote {

    margin-left: 119px;
}

	div#live_chat_status {
    right: 10px !important;
    bottom: 0px;
}

.rosi-category__inner-2022 {
    width: 257px !important;
}
	.rosi-category__grid-2022 {
    width: 283px !important;
}
	header.header {
    max-width: 480px !important;
}
	
	.header {
    top: 8px !important;
 
}
	.category-products-carousel.product-carousel-7771 {

    display: none;
}
.category-products-carousel.swiper.product-carousel-3044.swiper-initialized.swiper-horizontal.swiper-pointer-events {
    display: none;
}
	
}









.homer2025 {

    MARGIN-TOP: 35PX;
}
div#slider {
    margin-top: 100px;
}
@media screen and (min-width:560px){
.rosi-category__grid-2022 {
    MARGIN: 0 AUTO;
	}}


h3.rosi-category__title-2022 {
    color: #fff !important;
}
.category-products-carousel.swiper.product-carousel-67b6fa71331d6.swiper-initialized.swiper-horizontal.swiper-pointer-events {
    margin-top: 52px;
}



.rosi-container-2022 {
            margin: 0 auto;
            padding: 20px;
            box-sizing: border-box;
        }
        
        .rosi-section__title-2022 {
            text-align: center;
            margin-bottom: 30px;
            font-size: 24px;
            font-weight: bold;
            color: #333;
            position: relative;
        }
        
        .rosi-category__grid-2022 {
            margin: 0 AUTO;
            overflow: hidden;
        }
        
.rosi-category__item-2022 {
    float: left;
    width: 250px;
    padding: 0 10px;
    margin-bottom: 20px;
    box-sizing: border-box;
    margin: 0 auto ! IMPORTANT;
}
        

        
        .rosi-category__inner-2022:hover {
            transform: translateY(-5px);
        }
        
        .rosi-category__image-2022 {
            width: 100%;
            height: auto;
            border-radius: 4px;
            margin-bottom: 15px;
            display: block;
        }
        
        .rosi-category__link-2022 {
            text-decoration: none;
            display: block;
        }
        
        .rosi-category__title-2022 {
            font-size: 18px;
            color: #333;
            text-decoration: none;
            font-weight: bold;
            margin: 0;
            padding: 10px 0;
            text-align: center;
            transition: color 0.3s ease;
        }
        
        .rosi-category__title-2022:hover {
            color: #000;
        }
        .rosi-category__title-2022:hover {
            color: #fff !important;
					
        }

        /* Clear fix */
        .rosi-category__grid-2022:after {
            content: "";
            display: table;
            clear: both;
        }

        @media (max-width: 992px) {
            .rosi-category__item-2022 {
                width: 50%;
            }
        }

        @media (max-width: 576px) {
            .rosi-category__item-2022 {
                width: 100%;
            }
            
            .rosi-category__title-2022 {
                font-size: 16px;
            }
        }




                .category-products-carousel .product-item {
                    padding: 10px;
                }
                .category-products-carousel .swiper-button-next,
                .category-products-carousel .swiper-button-prev {
                    color: #333;
                }
                .category-products-carousel .swiper-pagination-bullet-active {
                    background: #333;
                }
.category-products-carousel .product-item {
    padding: 10px;
    width: 350px;
}






.custom-upsell-section {
            margin-top: 60px;
            padding: 30px;
            background: #ffffff;
            border: 1px solid #eaeaea;
            border-radius: 8px;
        }
        
        .custom-upsell-heading {
            text-align: center;
            font-size: 24px;
            margin-bottom: 30px;
            color: #222222;
            position: relative;
            padding-bottom: 15px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        
        .custom-upsell-heading:after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 50px;
            height: 2px;
            background: #333333;
        }
        
        .custom-upsell-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 25px;
            margin: 0;
            padding: 0;
            list-style: none;
        }
        
        .custom-upsell-item {
            background: #ffffff;
            border-radius: 6px;
            box-shadow: 0 2px 15px rgba(0,0,0,0.08);
            transition: all 0.3s ease;
            position: relative;
            margin: 0;
        }
        
        .custom-upsell-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 20px rgba(0,0,0,0.12);
        }
        
        .custom-upsell-thumbnail {
            position: relative;
            overflow: hidden;
            border-radius: 6px 6px 0 0;
        }
        
        .custom-upsell-thumbnail img {
            width: 100%;
            height: auto;
            transition: transform 0.4s ease;
        }
        
        .custom-upsell-item:hover .custom-upsell-thumbnail img {
            transform: scale(1.05);
        }
        
        .custom-upsell-content {
            padding: 20px;
        }
        
        .custom-upsell-title {
            font-size: 16px;
            margin: 0 0 10px;
            line-height: 1.4;
        }
        
        .custom-upsell-title a {
            color: #222222;
            text-decoration: none;
        }
        
        .custom-upsell-price {
            color: #333333;
            font-weight: 600;
            font-size: 18px;
            margin-bottom: 15px;
            display: block;
        }
        
        .custom-upsell-button {
            display: inline-block;
            width: 100%;
            padding: 12px 20px;
            background: #006634;
            color: #ffffff;
            text-align: center;
            text-decoration: none;
            border-radius: 4px;
            transition: background 0.3s ease;
            text-transform: uppercase;
            font-size: 14px;
            font-weight: 500;
            letter-spacing: 0.5px;
            border: none;
            cursor: pointer;
        }
        
        .custom-upsell-button:hover {
            background: #222222;
            color: #ffffff;
        }
        
        @media (max-width: 1200px) {
            .custom-upsell-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }
        
        @media (max-width: 992px) {
            .custom-upsell-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        
        @media (max-width: 576px) {
            .custom-upsell-grid {
                grid-template-columns: 1fr;
            }
            
            .custom-upsell-section {
                padding: 20px;
            }
        }










.locations {
    padding: 20px 0;
    border-top: 18px solid #006634;
    border-bottom: unset;
    background: #006634;
    color: #fff;
}

@media (max-width: 480px) {

	.nav-content {

    width: 380px !important;
}
}
#page-wrap > footer.accessibility-pricing > div > div > div:nth-child(3) > h3 {
    font-size: 30px;
}

.woocommerce h1.page-title {
    font-size: 57px;
    margin-bottom: 6px;
    text-align: center;
}

span.toggle-icon {
    display: none;
}



.locations .loc-name a {
    color: #ffffff;
}
#page-wrap > footer.locations > div > div > div {
    width: 20%;
}
.menu-footrrr-container {
    margin-right: 41px;
}









.footer-quick-links li a,
.footer-accessibility li a,
.footer-legal li a {
    color: #ffffff;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-quick-links li a:hover,
.footer-accessibility li a:hover,
.footer-legal li a:hover {
    opacity: 0.8;
}

.accessibility-pricing .footh {
    color: #ffffff;
}

.footer-pricing li {
    color: #ffffff;
}




/* Footer Styles */
.accessibility-pricing {
    background: #006634;
    padding: 0px 0;
}

.footer-quick-links,
.footer-accessibility,
.footer-pricing {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-quick-links li,
.footer-accessibility li,
.footer-pricing li {
    margin-bottom: 10px;
}

.footer-pricing li {
    color: #666;
    font-size: 14px;
}

.footer-legal {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-end;
}

.footer-legal li {
    margin-left: 20px;
}

.sub-footer {
    padding: 15px 0;
    background: #333;
    color: #fff;
}

p.footh {
    margin-bottom: 20px;
    color: #fff !important;
    font-size: 18px;
    font-weight: bold;
}
.sub-footer {

    height: 0px;
    line-height: 0px;
    margin-bottom: 0px;
}
.sub-footer {
 
    margin-bottom: 0px !important;
}

.footer-quick-links li, .footer-accessibility li, .footer-pricing li {

    color: #fff !important;
}

#menu-quick-1 > li>a {
    color: #fff !important;
}
li#menu-item-82303>a {
    color: #fff ! IMPORTANT;
}

















@media (max-width: 480px) {
.container {
        padding: 0 10px;
    }
	
.header-wrapper {
    display: none;
}
.cta-video {
    display: none;
}
div#slider {
    margin-top: 70px;
}	
	
.top-bar {

    display: none;
}
.header .nav-content {

    width: 24%;
}
    
.custom-logo {
        max-height: 40px;
    }
    
.top-bar-content {
        padding: 5px 0;
    }
    
.contact-link {
        font-size: 32px;
        padding: 3px 8px;
    }
}

/* Mobile Menu Styles */
.mobile-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.mobile-menu.active {
    display: block;
}

.mobile-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu-list li {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.mobile-menu-list a {
    color: #333;
    text-decoration: none;
    font-size: 16px;
    display: block;
}












.top-bar {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    width: 100%;
    background-color: #34608b;
    z-index: 10000;
    transition: transform 0.3s ease;
}
@media screen and (min-width: 992px) {
    .blog .content-area article img {
        text-align: left;
        width: 300px;
        float: left;
        margin-right: 30px;
        max-height: 200px;
    }
	
	.header {
    position: fixed;
    top: 44px!important;/* Height of top bar */
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 9999;
    transition: transform 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
	
	
	
	
	
	
}



/* Add padding to body to prevent content jump */
body {
    padding-top: 124px; /* Combined height of top bar (44px) and header (80px) */
}



body.scroll-up .top-bar {
    transform: translateY(0);
}

body.scroll-up .header {
    transform: translateY(0);
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .header {
        top: 120px; /* Mobile top bar is taller */
    }
    
    body {
        padding-top: 180px; /* Adjusted for mobile (120px top bar + 60px header) */
    }
    
    .top-bar-content {
        flex-direction: column;
        padding: 8px 0;
    }
}




/* Keep existing top bar styles */
.top-bar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

/* Adjust header position */
.header {
    position: sticky;
    top: 44px; /* Height of top bar */
    width: 100%;
    background: #fff;
    z-index: 9999; /* Just below top bar */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .header {
        top: 120px; /* Adjust based on mobile top bar height */
    }
    
    .top-bar-content {
        flex-direction: column;
        padding: 8px 0;
    }
}












.header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.header .nav-content {
  display: flex;
  align-items: center;
  justify-content: start;
  padding: 15px 0;
}

/* Make sure header stays above other elements */
.header {
  z-index: 9999;
}

/* Ensure smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Add some space after top-bar to prevent overlap */






/* Header styles */
.header {
  width: 100%;
  background: #fff;
  z-index: 1000;
  transition: all 0.3s ease;
}

/* Sticky header class */
.header.sticky {
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Adjust top bar when header is sticky */
.header.sticky + .top-bar {
  margin-top: 80px; /* Adjust this value based on your header height */
}

/* Add padding to body when header becomes sticky */
body.has-sticky-header {
  padding-top: 80px; /* Should match your header height */
}

/* Ensure the header content stays organized when sticky */
.nav-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 0;
}

/* Logo adjustments for sticky state */
.sticky .logo img {
  max-height: 50px; /* Adjust based on your needs */
  transition: all 0.3s ease;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .header.sticky {
    position: fixed;
  }
  
  body.has-sticky-header {
    padding-top: 60px; /* Adjust for mobile header height */
  }
}




/* Sticky positioning container */
body {
  padding-top: 0; /* Remove default padding */
  transition: padding-top 0.3s ease;
}



/* Header styles */
.header {
  position: fixed;
  top: 44px; /* Height of top bar */
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 1000;
  transition: transform 0.3s ease, top 0.3s ease;
  border-bottom: 1px solid #e0e0e0;
}

/* Add padding to body when both bars are sticky */
body.has-sticky-header {
  padding-top: 124px; /* Combined height of top bar and header */
}

/* Add shadow when sticky */
.header.sticky {
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .header {
    top: 120px; /* Adjusted for mobile top bar height */
  }
  
  body.has-sticky-header {
    padding-top: 180px; /* Adjusted for mobile */
  }
  
  .top-bar-content {
    flex-direction: column;
    padding: 8px 0;
  }
}

/* Hide top bar when scrolling down */
.scroll-down .top-bar {
  transform: translateY(-100%);
}

.scroll-down .header {
  top: 81px !important;
}

/* Show top bar when scrolling up */
.scroll-up .top-bar {
  transform: translateY(0);
}

.scroll-up .header {
  top: 44px; /* Reset to original position */
}

@media (max-width: 768px) {
  .scroll-up .header {
    top: 120px; /* Reset to original position for mobile */
  }
}





.product-archive {
    padding: 2rem 0;
}
.product-subcategory h3 {
    font-size: 2rem !important;
}

.envira-gallery-wrap .envira-gallery-public.envira-gallery-css-animations .envira-gallery-item a {
    height: auto;
    max-width: 100%;
    width: 103px;
    opacity: 1 !important;
    height: 150px;
}


.product-item h3 {
 
    height: 70px;
}


#content > div.container-fluid.product-archive > div > div > div.category-description-wrapper > div > img {
    max-height: 150px;
    max-width: 150px !important;
}

.menu-item-has-children {
    position: relative;
    padding-right: 15px; 
}


.menu-item-has-children > a::after {
    content: '';
    position: absolute;
    right: 0px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: translateY(-50%) rotate(45deg);
    transition: transform 0.3s ease;
}

.menu-item-has-children:hover > a::after {
    transform: translateY(-50%) rotate(-45deg);
}

.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    min-width: 200px;
    z-index: 1000;
}

.menu-item-has-children:hover > .sub-menu {
    display: block;
}

.sub-menu li {
    display: block;
    width: 100%;
}

.sub-menu li a {
    padding: 10px 15px;
    display: block;
    color: #333;
    text-decoration: none;
    transition: background 0.3s ease;
}

.sub-menu li a:hover {
    background: #f5f5f5;
}

@media (max-width: 768px) {
    .menu-item-has-children > a::after {
        right: 15px;
    }
    
    .sub-menu {
        position: static;
        box-shadow: none;
        padding-left: 18px;
    }
    
    .menu-item-has-children:hover > .sub-menu {
        display: none; 
    }
    
    .menu-item-has-children.active > .sub-menu {
        display: block;
    }
    
    .menu-item-has-children.active > a::after {
        transform: translateY(-50%) rotate(-45deg);
    }
}





/* Category Description */
.category-description {
    margin: 1.5rem 0;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 8px;
    line-height: 1.6;
    color: #333;
}

.category-description p {
    margin-bottom: 1rem;
}

.category-description p:last-child {
    margin-bottom: 0;
}

.category-description h1,
.category-description h2,
.category-description h3,
.category-description h4 {
    margin-bottom: 1rem;
    color: #222;
}

/* Grid Layout */
.category-products {
    display: grid;
    gap: 2rem;
    margin: 2rem 0;
}

.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1024px) {
    .columns-4 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .columns-4 {
        grid-template-columns: 1fr;
    }
}

/* Product Items */
.product-item {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}

.product-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.product-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.product-image {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
}

.product-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}




.product-description {
    padding: 0 1rem;
    font-size: 1.5rem;
    color: #666;
    line-height: 1.4;
    margin-bottom: 0.5rem;
    min-height: 3em;
}

.product-price {
    padding: 0 1rem 1rem;
    color: #666;
    font-weight: 600;
}

.product-actions {
    padding: 0 1rem 1rem;
}

/* Subcategories */
.product-subcategories {
    display: grid;
    gap: 2rem;
    margin-bottom: 3rem;
}

.product-subcategory {
    text-align: center;
}

.product-subcategory img {
    border-radius: 8px;
    margin-bottom: 1rem;
}

.product-subcategory h3 {
    font-size: 1.1rem;
    color: #333;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
    
    color: #ffffff;
    background-color: #006634;
    
}



.category-products.columns-4 {
    padding: 50px;
}
.category-description-wrapper {
    padding: 50px;
}
.product-subcategories {

    padding: 50px;
}







/* =======================================
   Reset & Base Styles
========================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.mobile_floatong_phone {
    display: none;
}
a.custom-button,.check-icon 
{
    font-weight: 900;
    color: #008714;
}

/* Skip Link for Accessibility */
.skip-link {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  background: #fff;
  padding: 8px 16px;
  z-index: 999;
  color: #007acc;
}

/* =======================================
   Container
========================================== */
/* Base container styles */
/* استایل‌های پایه */
* {
  box-sizing: border-box;
}

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

.homecat2025,
.homer2025 {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.category-products-carousel.product-carousel-1168,
.category-products-carousel.product-carousel-7851 {
  width: 100%;
  margin: 0 auto;
}

.rosi-category__grid-2022 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin: 0 auto;
  padding: 0 15px;
}

.rosi-category__item-2022 {
  width: 100%;
}

.rosi-category__image-2022 {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.row-custom {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
}

.column-half {
  width: 100%;
  padding: 0 15px;
}

.hcolumn-three {
  width: 100%;
  padding: 0 15px;
  margin-bottom: 20px;
}

.hcolumn-three img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media only screen and (max-width: 390px) {
  .container {
    max-width: 100%;
  }
  
  .homecat2025,
  .homer2025 {
    max-width: 100%;
  }
  
  .homer2025 {
    padding: 20px !important;
  }
  
  .hcolumn-three {
    width: 100%;
  }
  
  .category-products-carousel.product-carousel-1168,
  .category-products-carousel.product-carousel-7851 {
    max-width: 100%;
  }
  
  .rosi-category__grid-2022 {
    grid-template-columns: 1fr;
  }
  
  h1 {
    font-size: 24px;
  }
  
  h2 {
    font-size: 18px;
  }
}

@media only screen and (min-width: 391px) and (max-width: 480px) {
  .container,
  .homecat2025,
  .homer2025 {
    max-width: 100%;
  }
	.category-products-carousel.swiper.product-carousel-5942.swiper-initialized.swiper-horizontal{width:400px !important;}
  .videocta,
  .cta-video {
    display: none;
  }
  
  div#slider {
    margin-top: 70px;
  }
  
  .category-products-carousel.product-carousel-1168,
  .category-products-carousel.product-carousel-7851 {
      display: none;
  }
  
  .rosi-category__grid-2022 {
    grid-template-columns: 1fr;
  }
}

@media only screen and (min-width: 481px) and (max-width: 576px) {
  .container,
  .homer2025,
  .homecat2025 {
    max-width: 100%;
  }
  
  .hcolumn-three {
    width: 100%;
  }
  
  .category-products-carousel.product-carousel-1168,
  .category-products-carousel.product-carousel-7851 {
    max-width: 100%;
		  display: none;
  }
  
  .rosi-category__grid-2022 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (min-width: 577px) and (max-width: 768px) {
  .container,
  .homer2025,
  .homecat2025 {
    max-width: 100%;
  }
  
  .category-products-carousel.product-carousel-1168,
  .category-products-carousel.product-carousel-7851 {
    max-width: 100%;
		  display: none;
  }
  
  .rosi-category__grid-2022 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .column-half {
    width: 100%;
  }
  
  .hcolumn-three {
    width: 50%;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .container,
  .homer2025 {
    max-width: 992px;
  }
  
  .logo {
    width: 10%;
  }
  
  .desktop-menu {
    width: 90%;
  }
  
  .desktop-menu .menu a {
    font-size: 9px !important;
  }
  
  .homecat2025 {
    max-width: 992px !important;
    margin: 0 auto !important;
  }
  
  .rosi-category__grid-2022 {
    grid-template-columns: repeat(4, 1fr);
		
		width:1100px !important;
  }
  
  .column-half {
    width: 50%;
  }
  
  .hcolumn-three {
    width: 33.33%;
  }
}

@media only screen and (min-width: 1201px) and (max-width: 1399px) {
  .container,
  .homer2025 {
    max-width: 1140px;
  }
  
  .logo {
    width: 10%;
  }
  
  .desktop-menu {
    width: 90%;
  }
    .rosi-category__grid-2022 {
    grid-template-columns: repeat(4, 1fr);
		
		width:1100px !important;
  }
  .desktop-menu .menu a {
    font-size: 11px !important;
  }
  
  .homecat2025 {
    max-width: 1200px !important;
    margin: 0 auto !important;
  }
  
  .rosi-category__grid-2022 {
    grid-template-columns: repeat(4, 1fr);
  }
  
  .column-half {
    width: 50%;
  }
  
  .hcolumn-three {
    width: 33.33%;
  }
}

@media only screen and (min-width: 1400px) {
  .container,
  .homer2025 {
    max-width: 1340px;
  }
  
  .homecat2025 {
    max-width: 1520px !important;
    margin: 0 auto !important;
  }
  
  .category-products-carousel.product-carousel-1168,
  .category-products-carousel.product-carousel-7851 {
    max-width: 1340px;
  }
	  .rosi-category__grid-2022 {
    grid-template-columns: repeat(4, 1fr);
		
		width:1100px !important;
  }
  
  .rosi-category__grid-2022 {
    grid-template-columns: repeat(4, 1fr);
  }
  
  .column-half {
    width: 50%;
  }
  
  .hcolumn-three {
    width: 33.33%;
  }
}



/* =======================================
   Header & Top Bar
========================================== */
.header {
  background-color: #fff;
  border-bottom: 1px solid #e0e0e0;
}

.top-bar {
  background-color:#1b7147;
  padding: 10px 0;
  border-bottom: 1px solid #e0e0e0;
  font-size: 14px;
  color: #555;
}
a.email-link {
    color:#00aeef;
    font-size: 20px;
}

.email-link {
  display: inline-flex;
  align-items: center; 
  text-decoration: none;
  color: inherit;
}

.email-icon {
  margin-right: 0.5em; 
}



.top-bar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0px 0;
}

/* =======================================
   Social Icons
========================================== */
.social-icons {
  display: flex;
  gap: 16px;
}
a.custom-button, .check-icon {
    color: #fff;
}
.social-link {
  color: #f8f8f8;
  text-decoration: none;
  transition: color 0.3s ease;
}

.social-link:hover {
  color: #006634;
}

.social-link .icon {
  width: 20px;
  height: 20px;
}

/* =======================================
   Contact Link
========================================== */
.contact-link:hover {

	    background: #00aeef !important;

    color: #ffffff !important;
}
.contact-link {
    display: flex
;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    transition: color 0.3s ease;
    padding: 3px 10px 3px 8px;
    border-radius: 17px;
    font-weight: 700;
	    background: #00aeef;
font-size: 17px;
    color: #ffffff;
}
a.email-link {
    font-weight: 600;
    background: #00aeef;
    border-radius: 31px;
    padding-right: 14px;
    padding-left: 14px;
    font-weight: 500;
    font-size: 20px;
    color: #fff !important;
}
.top-bar-section.top-bar-button {
    padding: 2px 10px 2px 10px;
    border-radius: 19px;
    font-weight: 400;
    background:#00aeef;
font-size: 17px;
    color: #ffffff !important;
}
.desktop-menu .sub-menu li {
    list-style: none;
}
.contact-link:hover {
  color: #006634;
	 background: #fff;
}

.contact-link .icon {
  margin-left: 5px;
}

/* Responsive for Top Bar */
@media (max-width: 768px) {
  .top-bar-content {
    flex-direction: column;
    gap: 10px;
  }
  

  .contact-info {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
}

/* =======================================
   Logo
========================================== */
.custom-logo-link {
  display: block;
}

.custom-logo {
  max-height: 60px;
  width: auto;
}

/* =======================================
   Main Navigation
========================================== */
.main-nav {
  background-color: #fff;
  color: #333;
  border-bottom: 1px solid #e0e0e0;
}

.nav-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 0;
}

/* Logo in Navigation */
.logo a {
  font-size: 1.8rem;
  font-weight: bold;
  color: #007acc;
  text-decoration: none;
  transition: color 0.3s ease;
}

.logo a:hover {
  color: #005a99;
}

/* Desktop Menu */
.desktop-menu .menu {
  list-style: none;
  display: flex;
  gap: 10px;
	margin-top: 7px;
}
.desktop-menu .menu a {
  
    font-weight: 800;
}

.desktop-menu .menu li {
  position: relative;
}

.desktop-menu .menu a {
  text-decoration: none;
  color: #333;
  font-size: 95%;
  padding: 8px 0;
  transition: color 0.3s ease;
}

.desktop-menu .menu a:hover {
  color: #007acc;
}

/* Mega Menu */
.desktop-menu li.mega-parent {
  position: static;
}

.desktop-menu li.mega-parent:hover > .mega-menu {
  display: block;
}

.mega-menu {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  display: none;
  background-color: #fff;
  padding: 1rem 2rem;
  border-top: 3px solid #007acc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 9999;
}

.mega-menu .mega-menu-column {
  float: left;
  width: 25%;
  padding: 0 1rem;
}

.mega-menu::after {
  content: "";
  display: table;
  clear: both;
}

.mega-menu .mega-menu-column h3 {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  color: #007acc;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 5px;
}

.mega-menu .mega-menu-column ul {
  list-style: none;
  margin-top: 0.5rem;
}

.mega-menu .mega-menu-column ul li a {
  display: block;
  padding: 0.4rem 0;
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
  border-bottom: 1px dotted transparent;
}

.mega-menu .mega-menu-column ul li a:hover {
  color: #007acc;
  border-bottom-color: #007acc;
}

/* Sub Menu */
.desktop-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  background-color: #fff;
  min-width: 200px;
  margin-top: 0.4rem;
  padding: 0.5rem 0;
  border: 1px solid #eee;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  z-index: 999;
}

.desktop-menu li:hover > .sub-menu {
  display: block;
}

.desktop-menu .sub-menu li {
  position: relative;
}

.desktop-menu .sub-menu li a {
  display: block;
  padding: 10px 10px;
  color: #333;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.desktop-menu .sub-menu li a:hover {
  background-color: #f5f5f5;
}

.desktop-menu .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  margin-top: 0;
  margin-left: 1px;
}

/* =======================================
   Header Icons (Search, Cart, Mobile Toggle)
========================================== */
.header-icons {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-icons button,
.header-icons a {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  transition: color 0.3s ease;
}

.header-icons button:hover,
.header-icons a:hover {
  color: #007acc;
}

.header-icons .icon {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}

/* Mobile Menu Toggle */
.menu-toggle {
  border: none;
  background: none;
  cursor: pointer;
  display: none; 
}

.menu-toggle .icon {
  width: 28px;
  height: 28px;
  stroke: #007acc;
  transition: stroke 0.3s ease;
}

.menu-toggle:hover .icon {
  stroke: #005a99;
}

/* =======================================
   Mobile Menu
========================================== */
.mobile-menu {
  background-color: #fafafa;
  border-top: 1px solid #ddd;
  padding: 16px;
  display: none; 
}

.mobile-menu-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mobile-menu-list li a {
  text-decoration: none;
  color: #333;
  font-size: 16px;
  padding: 8px 0;
  transition: color 0.3s ease;
}

.mobile-menu-list li a:hover {
  color: #007acc;
}

/* =======================================
   Header Search Form
========================================== */
.header-search {
  background-color: #fff;
  padding: 16px;
  border-top: 1px solid #e0e0e0;
}

.header-search form {
  display: flex;
  align-items: center;
  gap: 8px;
}

.header-search input[type="search"] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.header-search input[type="submit"] {
  padding: 8px 16px;
  background-color: #007acc;
  border: none;
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.header-search input[type="submit"]:hover {
  background-color: #005a99;
}

/* =======================================
   Responsive Styles
========================================== */
@media (max-width: 991px) {
  .desktop-menu {
    display: none;
  }
  
  .menu-toggle {
    display: block;
  }
  
  .header-icons {
    gap: 8px;
  }
  
  .mobile-menu {
    display: block;
  }
}


































/* Main Archive Container */
.archive-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* Archive Header */
.archive-header {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
    padding-bottom: 20px;
}

.archive-header:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(to right, #e41e31, #ff6b6b);
    border-radius: 3px;
}

.page-title {
    font-size: 2.8em;
    color: #2c3e50;
    margin-bottom: 20px;
    font-weight: 700;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards;
}

/* Categories Section */
.product-categories {
    margin-bottom: 80px;
}

.categories-title {
    font-size: 2em;
    color: #2c3e50;
    text-align: center;
    margin-bottom: 40px;
    opacity: 0;
    animation: fadeIn 0.6s ease 0.3s forwards;
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    opacity: 0;
    animation: fadeIn 0.6s ease 0.6s forwards;
}

.category-card {
    position: relative;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.category-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.12);
}

.category-image {
    height: 240px;
    background-size: cover;
    background-position: center;
    position: relative;
    transition: transform 0.6s ease;
}

.category-card:hover .category-image {
    transform: scale(1.05);
}

.category-card:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}

.category-card:hover:before {
    opacity: 1;
}

.category-card h3 {
    padding: 20px;
    margin: 0;
    font-size: 1.4em;
    color: #2c3e50;
    font-weight: 600;
    transition: color 0.3s ease;
}

.category-card:hover h3 {
    color: #e41e31;
}

.category-card p {
    padding: 0 20px 20px;
    margin: 0;
    color: #666;
    font-size: 0.95em;
    line-height: 1.6;
}

/* Products Section */
.products-section {
    margin-top: 60px;
    opacity: 0;
    animation: fadeIn 0.6s ease 0.9s forwards;
}

.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
}

.product-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.12);
}

.product-thumbnail {
    position: relative;
    overflow: hidden;
    padding-top: 100%;
}

.product-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.product-card:hover .product-thumbnail img {
    transform: scale(1.08);
}

.product-overlay {
    position: absolute;
    bottom: -60px;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.95);
    padding: 15px;
    transition: bottom 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 2;
}

.product-card:hover .product-overlay {
    bottom: 0;
}

.product-details {
    padding: 20px;
    position: relative;
    z-index: 1;
}

.product-price {
    display: flex;
    gap: 12px;
    align-items: center;
}

.sale-price {
    color: #e41e31;
    font-size: 1.2em;
    font-weight: 700;
}

.regular-price {
    color: #666;
    font-size: 1em;
}

.sale-price + .regular-price {
    text-decoration: line-through;
    opacity: 0.7;
}

/* Add to Cart Button */
.product-card .button {
    display: inline-block;
    padding: 10px 20px;
    background: #e41e31;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    text-align: center;
    width: 100%;
}

.product-card .button:hover {
    background: #d41828;
    transform: translateY(-2px);
}

/* Loading Animation */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

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

/* Responsive Design */
@media (max-width: 1200px) {
    .categories-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
}

@media (max-width: 992px) {
    .archive-wrapper {
        padding: 30px 15px;
    }
    
    .page-title {
        font-size: 2.4em;
    }
    
    .categories-title {
        font-size: 1.8em;
    }
}

@media (max-width: 768px) {
    .categories-grid,
    .products {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 20px;
    }
    
    .category-image {
        height: 200px;
    }
    
    .category-card h3 {
        font-size: 1.2em;
        padding: 15px;
    }
    
    .product-details {
        padding: 15px;
    }
}

@media (max-width: 480px) {
    .page-title {
        font-size: 2em;
    }
    
    .categories-grid,
    .products {
        grid-template-columns: 1fr;
    }
    
    .category-card h3 {
        font-size: 1.1em;
    }
}

/* Loading Skeleton Animation */
@keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }
    100% {
        background-position: 1000px 0;
    }
}

.loading {
    background: linear-gradient(to right, #f6f7f8 8%, #edeef1 18%, #f6f7f8 33%);
    background-size: 1000px 100%;
    animation: shimmer 2s infinite linear;
}

/* Out of Stock Styling */
.product-card.outofstock {
    opacity: 0.7;
}

.product-card.outofstock:before {
    content: 'Out of Stock';
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0,0,0,0.7);
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 0.8em;
    z-index: 3;
}

/* Sale Badge */
.product-card .onsale {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #e41e31;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 0.8em;
    z-index: 3;
    font-weight: 600;
}












/* home promo box fixes */
.home .widget {
	width: 100% !important;
	float: unset !important
}
.home .widget .widget {
	width: 33.33% !important;
}
.home .primarycta .primarycta {
	display: flex;
}

@media (max-width: 990px) {
	.home .widget .widget {
		width: 100% !important;
	}
	.home .primarycta .primarycta {
		flex-direction: column;
	}
}

/* product cat nav fixes */

@media (min-width: 1200px) {
	.product-nav ul#menu-product-navigation {
		display: flex;
	}
	ul#menu-product-navigation li {
		width: -webkit-fill-available;
		width: 100%;
	}
	ul#menu-product-navigation li a {
		text-align: center;
		padding: 0 5px;
		width: 100%;
	}
}

@media (min-width: 1200px) and (max-width: 1440px) {
	ul#menu-product-navigation,
	ul#menu-product-navigation li,
	ul#menu-product-navigation li a {
		font-size: 16px;
	}
}

/* END product cat nav fixes */

.term-description {
    display: block;
}
.category-brochures-item a{
	padding-top: 0;
	overflow: hidden;
}

#mymap { height: 200%; width :200%; margin-left:auto; margin-right:auto;}



#breadcrumbs {
Text-align: center;
padding: 10px 16px;
 list-style: none;
/*  background-image: linear-gradient(to right, #006634, #fff); */
	
	background-color: #006634; 
	font-style: oblique;
	color: #ffffff !important; 
	font-weight: 900; 
	
}

#breadcrumbs li {
	display: inline;
  font-size: 18px;
	
	
}

#breadcrumbs li:hover {
	color: #ffffff;
  text-decoration: underline;
}

#breadcrumbs a {
	color: #ffffff !important;
}


#fuckthisshit {
width: 100% !important;
  display: block !important;
	
}

/* Style special divs for shipping disclaimers and info */
div.shippinginfo {
	font-size: .8em;
	color: #555;
}
div.shippinginfo ul li {
	font-size: 1em;
	padding-top: .2em;
	padding-bottom: .2em;
	color: #000000;
}

/* 
#fuckthisshit iframe {
	margin: auto; 
} */


.primary-nav ul li.menu-about-us {
    width: 15% !important;
}

.primary-nav ul li.home-office-furniture {
    width: 15% !important;
}

.primary-nav ul li.menu-services {
    width: 15% !important;
}

.primary-nav ul li.menu-resources {
    width: 15% !important;
}

.primary-nav ul li.menu-contact {
    width: 15% !important;
}

a {
    color: #337ab7;
}

/* mobile sticky phone number */
.mobile_floatong_phone {

    position: fixed;
    top: 120px;
    right: 0px;
    z-index: 99999;
    background-color: #006634;
    color: #fff;
    padding: 8px;
    border-radius: 6px;
}

.mobile_floatong_phone a{
	color: #fff;
}

.column-half {
  float: left;
  width: 50%;
	padding: 12px 12px 12px 2px;
}

/* Clear floats after the columns */
.row-custom:after {
  content: "";
  display: table;
  clear: both;
}

/* Responsive layout - when the screen is less than 768px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 768px) {
  .column-half {
    width: 100%;
  }
}

.column-three {
  float: left;
	padding: 12px;
  width: 300px;
  box-sizing: border-box;
}

@media (max-width: 768px) { /*breakpoint*/
  .column-three {
    float: none;
    width: 100%;
  }
}

.green {
	color: #006634;
	font-weight: bold;
}

.image-green-box {
	background-color: #006634;
	color: #fff;
	text-align: center;
	padding: 6px;
	font-weight: bold;
	margin-top: 0px;
}

.image-green-box:hover {
	background-color: #003300;
	font-size: 1.8rem;
	cursor: pointer;
}
.row-custom iframe {
   width: 100% !important;
}


.exit-intent-popup {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background: rgba(33, 33, 33, 0.8);
	  transform: translateY(60%) scale(0);
	  transition: transform 0.3s cubic-       bezier(0.4, 0.0, 0.2, 1);
}


.ex_popup_content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	  text-align: center;
    background-color: #fff;
    padding: 20px;
    border: 6px solid green;
}

.exit-intent-popup.visible {        transform: translateY(0) scale(1);
 z-index: 999;
}

#header-image img{
	width: 100%;
	height: auto;
}

#wu-form form input.submit {
    background: #FFA500;
}


#wu-form form input.submit:hover {
    background: #FF8C00;
}

#bbb_logo {
	height: 50px;
	margin-left: 20px;
}

@media screen and (max-width: 768px) {
	#bbb_logo {
		display: block;
    margin: 0 auto;
	}
}

h4.team-bio {
	font-size: 16px!important;
	font-family: Raleway,sans-serif;
    font-weight: 400;
	  color: #444;
		line-height: 1.42857;
	  margin-bottom: 30px;
}

@media screen and (min-width: 992px) {
	#side-nav {
		display: none;
  }
}

#side-nav ul li ul {
    display: none;
    z-index: 100;
    position: relative;
}
#side-nav ul {
    list-style: none;
	  padding: 0;
}

#side-nav li {
	padding: 10px;
  border-bottom: 1px solid #cecece;
}
#side-nav li.menu-item-has-children {
	position: relative;
	cursor: pointer;	
}

#side-nav li.menu-item-has-children div.arrow_sidenav{
	font-size: 20px;
  position: absolute;
	top: 10px;
	right: 20px;
  font-weight: bold;
	cursor: pointer;
	width: 40%;
  text-align: right;
}

.blog .content-area h2, .single .content-area h2, h4 {
	color: #474747;
	font-size: 30px;
}

/* The Modal (background) */
.modal-map {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-map-content {
  background-color: #fefefe;
  margin: 15% auto; /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #888;
  width: 70%;
	height: 500px;
}

/* The Close Button */
.close-map {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close-map:hover,
.close-map:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* these height edits prevent the footer from overlapping itself on mobile/small screens while maintaining its existing look on desktop/big screens */
.maps {
	height: unset;
	min-height: 402px;
}
.maps .map-overlay {
	height: unset;
	min-height: 400px;
}

@media screen and (min-width: 768px) {
  .maps .map-overlay {
    height: 400px;
  }
	.primary-nav ul li {
    width: 14.9997%;
	}
}
/* end height edits */

.maps .map-overlay p {
    margin-bottom: 5px !important;
}

.map-overlay {
	padding-top: 10px !important;
}

/*Edits*/
ul.sub-menu {
    z-index: 999999999999 !important;
}

.printfriendly.pf-button.pf-alignright {
    display: none;
}

#wu-form #bbb {
	display: none !important;
}



/* Iframe */
.cta-video iframe{
	display:none;
}

/* Videocta */
#header-image .header-wrapper .videocta{
	display:none;
}

/* Embed container */
#header-image .cta-video .embed-container{
	display:none;
}

/* 1369px and above screen sizes */
@media (min-width:1369px){

	/* Video */
	#header-image .cta-video{
		display:none;
	}
	
}
.col-xs-12.col-sm-4>img {
    height: auto;
}













/* Grid Container */
.rosi-2024-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2rem;
  padding: 2rem;
}

/* Product Card */
.rosi-2024-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
}

/* Product Link */
.rosi-2024-product-link {
  display: block;
  position: relative;
}

/* Product Image */
.rosi-2024-product-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

/* Green Box */
.rosi-2024-image-green-box {
  position: absolute;
  bottom: 200px;
  left: 0;
  background-color: rgba(34, 139, 34, 0.8);
  color: white;
  padding: 0.5rem 1rem;
  font-size: 1.4rem;
}

/* Product Info Container */
.rosi-2024-product-info {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  flex-grow: 1;
  background: white;
}

/* Product Category */
.rosi-2024-product-category {
  color: #666;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

/* Product Title */
.rosi-2024-product-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 1rem 0;
}

/* Product Details */
.rosi-2024-product-details {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid #e5e5e5;
}

/* Product Size */
.rosi-2024-product-size {
  font-size: 1.5rem;
  color: #666;
}

/* Product Price */
.rosi-2024-product-price {
  font-weight: 600;
  color: #2c5282;
	    font-size: 2.0rem;
}
.rosi-2024-product-card {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s;
}

.rosi-2024-product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.bottom-body p, .content-body p, .top-body p {
    margin-bottom: 5px;
}


#page-wrap > div.wrap > div > main > div.content-body > div.content-area > article > div > p {
    margin-bottom: 20px;
}






.category-products {
    display: grid;
    gap: 20px;
    margin: 20px 0;
}

.category-products.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.category-products.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.category-products.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.product-item {
    background: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.product-item:hover {
    transform: translateY(-5px);
}

.product-item img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.product-item h3 {
    margin: 10px 0;
    font-size: 1.1em;
    color: #333;
}

.product-item .price {
    color: #e41e31;
    font-weight: bold;
    margin: 10px 0;
}

.product-item .button {
    display: block;
    width: 100%;
    padding: 8px;
    text-align: center;
    background: #197146;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    margin-top: 10px;
}

@media (max-width: 992px) {
    .category-products.columns-4,
    .category-products.columns-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .category-products.columns-4,
    .category-products.columns-3,
    .category-products.columns-2 {
        grid-template-columns: 1fr;
    }
}



@media (max-width: 768px) {
    .category-products-carousel.product-carousel-4865 {
        padding: 20px;
        display: none;
    }
}








img {
   
    height: auto;
}
#wu-form #bbb {
	top: 15px;
	right: -100px;
}

#wu-form #bbb a {
	display: block;
}

#wu-form #bbb img {
	max-height: 85px;
}

form input[type=radio] {
    -webkit-appearance: radio;
}





