@charset "utf-8";
/* CSS Document */
.mod-megamenu>.mod-megamenu--item:last-child {
    margin-left: auto;
}

.mod-megamenu>.mod-megamenu--item:last-child>.mod-megamenu--item-anchor {
    padding-right: 0;
}

.product-field-type-M img {
    max-width: 250px;
    display: block;
    border: 1px solid #aaa;
}

.vm-customfield-media-preview {
    max-width: 250px;
}

.vm-customfield-media-preview .vm-customfield-media-preview-card {
    text-align: center;
}

.form-check-label {
    text-align: center;
    /*
    margin-left: -2.2em;
    margin-top: -.5em;
    padding-bottom: .5em;
    */
}
.vm-customfield-media-preview-card {
   
    display: contents;
}


.vm-img-desc {
  display: block;
  width: 154px;
  min-height: 65px;         /* use min-height instead of fixed height */
  padding: 5px;
  background-color:#333333;
  color:#fff;
  text-align:center;
  font-size:13px;
  line-height: 1.3;
  border-radius: 0 0 10px 10px;
}

.form-check-inline {
    display: inline-block;
    /* margin-right: 2.5rem; */
}

span.visually-hidden {
    visibility: hidden;
    display: none;
}

.form-check-input[type=radio] {
    position: relative;
    left: 2.2em;
    top: .5em;
}

.form-check-label .form-check-label-text {
  overflow: visible !important;
    text-transform: none;
}

@media (max-width: 576px) {
  .pagination li:not(:nth-child(1)):not(:nth-child(2)):not(:nth-last-child(1)):not(:nth-last-child(2)) {
    display: none;
  }
}



/* CF filters (existing) */
.cf_dropdown .cf_filters_list li {
    line-height: normal;
    padding: .9rem 0;
}

.cf_filters_list {
    padding-inline-start: 0;
    margin: 0;
    background-color: #f9f9fa;
    width: 250px;
}

.cf_filters_list li {
    line-height: 1.5rem;
    margin-inline-start: 2px;
    padding-inline-start: 0;
    list-style: none;
    background-image: none;
    /* border-bottom: 1px solid #ccc; */
}

.page-header h1 {
    display: none;
}

.content-bottom-horizontal-section,
.content-bottom-vertical-section,
.content-top-horizontal-section,
.content-top-vertical-section {
    margin: 1rem 0 0;
}

.main-section {
    padding-top: 1rem;
}

.mb-5 {

    margin-bottom: 1rem!important;
}

/* Offcanvas container padding (keep) */
.block-offcanvas .offcanvas-body {
    padding: 10px;
}

/* Hide on desktop, show on mobile */
@media (min-width: 992px) {
  .filters-button {
    display: none !important;
  }
}

/* === CF dropdown → match vmmanufacturer layout === */

.cf_filter_dropdown_container.dropdown-menu{
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* UL reset */
.cf_filter_dropdown_container .cf_filters_list{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* LI becomes a single-row flex item */
.cf_filter_dropdown_container .cf_filters_list_li{
  display: block;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0,0,0,.08);
}




/* span wrapper */
.cf_filter_dropdown_container .cf_link{
    display: block;
    width: 100%;
}

/* clickable area like vmmanufacturer */
.cf_filter_dropdown_container a.cf_option{
  display: block;
  width: 100%;
  padding: 0px 10px;
  text-decoration: none !important;
  white-space: nowrap;
}

/* hover effect */
.cf_filter_dropdown_container a.cf_option:hover{
  background: rgba(0,0,0,.05);
}

/* counter stays on same line, right aligned */
.cf_filter_dropdown_container .cf_flt_counter{
  padding-right: 14px;
  font-size: .9em;
  opacity: .7;
  white-space: nowrap;
}

/* last item border cleanup */
.cf_filter_dropdown_container .cf_filters_list_li:last-child{
  border-bottom: 0;
}

/* NOTE: You had two conflicting cf_dropdown rules.
   Keeping BOTH would cause confusion; this one is the last so it wins. */
.cf_dropdown .cf_filters_list li {
    line-height: 40px;
    padding: 0rem 0;
}

@media (min-width: 992px) {

  /* All dropdown filter lists scroll */
  .cf_filter_dropdown_container.dropdown-menu {
      max-height: 350px;
      overflow-y: auto;
      overflow-x: hidden;
      -webkit-overflow-scrolling: touch;
  }

}

/* =====================================================
   Manufacturers / Brands List (DEDUPED)
   Shared styling for:
   - Offcanvas brands list
   - Left sidebar brands module (desktop)
   ===================================================== */

/* Reset spacing caused by multiple UL output */
.offcanvas .vmgroup,
.offcanvas .vmgroup ul.vmmanufacturer,
.mod-position-left[data-mod-id="164"] .vmgroup,
.mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer{
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove list styling */
.offcanvas .vmgroup ul.vmmanufacturer,
.mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer{
  list-style: none !important;
}

/* Normalize list items */
.offcanvas .vmgroup ul.vmmanufacturer > li,
.mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer > li{
  margin: 0 !important;
  padding: 0 !important;
}

/* Brand row – behaves like menu item */
.offcanvas .vmgroup ul.vmmanufacturer > li > a,
.mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer > li > a{
  display: block;
  width: 100%;
  padding: 12px 16px;
  text-decoration: none;
  color: inherit;
  font-weight: 500;
  line-height: 1.2;
  border-bottom: 1px solid #e8e8e8;
  position: relative;
}

/* Clean inner wrapper */
.offcanvas .vmgroup ul.vmmanufacturer > li > a > div,
.mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer > li > a > div{
  margin: 0 !important;
  padding: 0 !important;
  display: inline;
}

/* Hover / focus state */
.offcanvas .vmgroup ul.vmmanufacturer > li > a:hover,
.offcanvas .vmgroup ul.vmmanufacturer > li > a:focus,
.mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer > li > a:hover,
.mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer > li > a:focus{
  background: rgba(0,0,0,0.04);
  outline: none;
}

/* Scroll container like offcanvas */
.offcanvas .vmgroup,
.mod-position-left[data-mod-id="164"] .vmgroup{
  max-height: 520px;
  overflow-y: auto;
  padding-right: 6px !important;
}

/* Remove divider from last item */
.offcanvas .vmgroup ul.vmmanufacturer:last-of-type > li > a,
.mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer:last-of-type > li > a{
  border-bottom: 0;
}

/* Slightly tighter spacing on small screens */
@media (max-width: 480px){
  .offcanvas .vmgroup ul.vmmanufacturer > li > a,
  .mod-position-left[data-mod-id="164"] .vmgroup ul.vmmanufacturer > li > a{
    padding: 10px 14px;
  }
}



/* Offcanvas Filters: make long lists scrollable inside the panel */
.offcanvas .cf_filter_dropdown_container.dropdown-menu{
  max-height: calc(100vh - 220px); /* adjust if your header is taller/shorter */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* iOS smooth scroll */
}

/* Also allow the list itself to scroll (some themes constrain the menu instead) */
.offcanvas .cf_filter_dropdown_container .cf_filters_list{
  max-height: calc(100vh - 220px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

label.visually-hidden[for="mod-vpprime-ajax-search__keyword-110"] {
  display: none !important;
}

.top-bar-content {
  line-height: 1.2;
  text-transform: none;
  color: chartreuse;
} 




#offcanvas-menu-154 .mxm-apply-filters {
  
  background-color: #ff0000;
  border-color: #ed0404;
  color: #fff;
  margin-top: 20px;
  width: 100% !important;
  display: block !important;
}

#offcanvas-menu-154 .mxm-apply-filters:hover,
#offcanvas-menu-154 .mxm-apply-filters:focus {
  background-color: #ff0000;
  border-color: #ed0404;
  color: #fff;
}

.free-shipping {
    margin-bottom: 2rem;
}
.vmcustom-textinput {
  width: 100%;
  max-width: 300px; /* adjust as needed */
}
#proopc-shipments label {
  display: block;          /* makes each option its own row */
  margin-bottom: 12px;     /* spacing between options */
}
@media (min-width: 992px) {

  /* Make the dropdown menu scrollable 
  .mod-vmcategory-dropdown-drop .mod-vmcategory-dropdown-menu {
    max-height: 400px;      
    overflow-y: auto;        
    overflow-x: hidden;      
  }
*/
.mod-vmcategory-dropdown-drop .mod-vmcategory-dropdown-menu {
    max-height: unset !important;
    overflow: inherit !important;
}
}
/* Hide LEFT sidebar filters module (mod id 163) on mobile */
@media (max-width: 991.98px) {
  .mod-position-left[data-mod-id="163"] {
    display: none !important;
  }
}

/* Change product image size on product page */
.product-image {
    width: 400px;
    height: auto;
}
.special-offer {
width:300px;
color: green;
font-size: large;
font-weight: bold;
}


.size-chart {
width:95%;


}
.size-chart TD {
    BORDER-BOTTOM: #ccc 1px solid;
    BORDER-LEFT: #ccc 1px solid;
    BACKGROUND-COLOR: #fff;
    FONT-FAMILY: verdana;
    FONT-SIZE: 1em;
    BORDER-TOP: #ccc 1px solid;
    BORDER-RIGHT: #ccc 1px solid;
    padding-left: 3px
}

.vm-cmv-label {
    font-size: 1.2rem;
}
.product-fields-title {
    font-size: 1.2rem;
}
@media (max-width: 991.98px) {
#ProOPC img {
    //max-width: 72%;
    width: 154px;
    display: block;
    border: 1px solid #aaa;
}
}
@media (min-width: 992px) {
#ProOPC img {
    width: 154px;
    display: block;
    border: 1px solid #aaa;
}
}
.vmcustom-textinput {
    border: 1px solid #333333;

}




/* =========================
   TYPE + BRAND (2 columns)
========================= */
.kits-two-col {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 20px 0;
}

.kits-col {
  width: calc(50% - 10px);
  box-sizing: border-box;
  padding: 15px;
  border: 1px solid #ddd;
  background: #f9f9f9;
}

.kits-col h4 {
  margin-bottom: 10px;
}

.kits-col p {
  margin: 0 0 10px;
}

.kits-col a {
  text-decoration: none;
  font-weight: 600;
}

/* =========================
   SIZE SECTION (GRID)
========================= */
.size-links-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 20px 0;
}

.size-links-col {
  padding: 15px;
  border: 1px solid #ddd;
  background: #f9f9f9;
}

.size-links-col p {
  margin: 0 0 10px;
}

.size-links-col a {
  text-decoration: none;
  font-weight: 600;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 768px) {

  /* Type + Brand → stack */
  .kits-col {
    width: 100%;
  }

  /* Size → 2 columns */
  .size-links-wrap {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media (max-width: 575.98px) {
    .breadcrumbs-section .breadcrumb .breadcrumb-item:not(:first-child):not(:last-child) {

        visibility: visible;
        width: auto;
    }
}
/*    Custom Filters Button */
@media (max-width: 991.98px) {
    .btn, .btn-vm-customfield .form-check-label-text {
    width: auto !important;
    display: block !important;
    }


.offcanvas .cf_filter_dropdown_container.dropdown-menu {
  
        width: 95%;
}
.offcanvas .cf_filter_dropdown_container .cf_filters_list {
        display: block;
        width: 100%;
}

.vm-customfield-media-preview-card img {
    max-width: 250px !important;
}
}
<!----DS-05 --->
/* Category Page Layout Stability */
#content.col-lg-9 {
    min-height: 1000px !important; /* Page load hote hi space reserve karne ke liye */
    display: block !important;
}

/* Product Grid Container Fix */
.product-items-container {
    min-height: 500px !important; 
    display: flex !important;
    flex-wrap: wrap;
}

/* Category Description/Header Fix */
.content-inner {
    min-height: 150px; /* Description area ke liye space reserve */
}

/* Unsized Product Images in Grid */
.product-items-container img {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    background: #f4f4f4; /* Image aane tak placeholder */
}

/* Filter/Manufacturer Row Stability */
div.row {
    min-height: 40px; /* Filters load hone ke liye space */
}


/* Checkout Buttons Styling */
.proopc-btn-inverse {
        background-image: -webkit-linear-gradient(top, #f00, #f00);
        background-repeat: repeat-x;
        background-color: #f00;
}
.proopc-btn-inverse:hover,
.proopc-btn-inverse:focus,
.proopc-btn-inverse:active {
    background-image: -webkit-linear-gradient(top, #f00, #f00);
    background-repeat: repeat-x;

    background-color: #f00 !important;

}
#proopc-order-submit {
        background-image: -webkit-linear-gradient(top, #f00, #f00);
        background-repeat: repeat-x;
        border-color: #f00;
}
#proopc-order-submit:hover,
#proopc-order-submit:focus,
#proopc-order-submit:active {
    background-image: -webkit-linear-gradient(top, #f00, #f00);
    background-repeat: repeat-x;

    background-color: #f00 !important;
    border-color: #f00;
}

/* Hide Filter Headers */
.cf_flt_header {
  display: none;
}

/* Hide Wheel Name*/
.vm-customfield-media-preview-title {
  display: none;
}
/* Product Custom Fields Dropdowns Padding */
.choices.choices__customfield .choices__list--dropdown .choices__item {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.vmcustom-textinput {
    border: 1px solid #333;
    padding: .4rem;
    font-size: larger;
}
/* Hide Manufacturer Model box from product page*/
.product-manufacturers>.product-manufacturer:first-child:last-child {
  display: none;
}

/* enlarge category name font size*/
.virtuemart-categories .category-name a {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
}
/* add border to category image*/
.virtuemart-categories .category-image img, .product-items-container .product-image-default {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 6px;
    background: #fff;
    transition: all 0.2s ease;
    width: 250px;
}





/* enlarge product name font size*/
.product-related-products .product-name a, .product-items-container .product-name a {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}
@media (max-width: 767px) {

    .product-related-products .product-name a, .product-items-container .product-name a {
        font-size: 1.05rem;
        line-height: 1.3;
    }

}

/* Filters button fixed on mobile */
@media (max-width: 991px) {

    .filters-button {
        position: fixed;
        right: 15px;
        bottom: 45px;
        z-index: 999;
    }

}

/* Filters full width */
.cf_filter_dropdown_toggle {
    width: 100% !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;

    padding: 12px 16px;
    font-size: 16px;
    font-weight: 500;

    border-radius: 8px;
}

/* ========================================
   MOBILE FRIENDLY CHECKOUT FORM
======================================== */

.proopc-bt-address input,
.proopc-bt-address select,
.proopc-st-address input,
.proopc-st-address select {

    width: 100% !important;

    min-height: 48px;

    padding: 12px 14px;

    font-size: 16px !important;

    border: 1px solid #dcdcdc;

    border-radius: 8px;

    background: #fff;

    box-sizing: border-box;

    appearance: none;
    -webkit-appearance: none;

}

/* Labels */

.proopc-bt-address label,
.proopc-st-address label {

    font-size: 15px;
    font-weight: 600;

    margin-bottom: 6px;

    display: inline-block;

}

/* Field spacing */

.proopc-bt-address .inner,
.proopc-st-address .inner {

    margin-bottom: 16px;

}

/* Select dropdown styling */

.proopc-bt-address select,
.proopc-st-address select {

    background-image:
        linear-gradient(45deg, transparent 50%, #666 50%),
        linear-gradient(135deg, #666 50%, transparent 50%);

    background-position:
        calc(100% - 18px) calc(50% - 3px),
        calc(100% - 12px) calc(50% - 3px);

    background-size: 6px 6px, 6px 6px;

    background-repeat: no-repeat;

    padding-right: 40px;

}

/* Focus state */

.proopc-bt-address input:focus,
.proopc-bt-address select:focus,
.proopc-st-address input:focus,
.proopc-st-address select:focus {

    border-color: #999;

    outline: none;

    box-shadow: 0 0 0 3px rgba(0,0,0,0.08);

}

/* Mobile improvements */

@media (max-width: 767px) {

    .proopc-bt-address,
    .proopc-st-address {

        padding: 10px;

    }

    .proopc-process-title {

        font-size: 1.3rem;

    }

    .proopc-step {

        width: 25px;
        height: 25px;

        font-size: 16px;
    }

}
.st-same-checkbox input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin-right: 8px;
    vertical-align: middle;
}

/* increase <p> font size*/
p {
    font-size: 1.1rem;
    line-height: 1.75;
    margin-bottom: 1rem;
}
@media (max-width: 767px) {

    p {
        font-size: 1.05rem;
        line-height: 1.7;
    }

}

/* Keep CF dropdown same width as button */
.cf_dropdown {
    position: relative;
}

.cf_filter_dropdown_container.dropdown-menu {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

/* Prevent Bootstrap/Popper from stretching across page */
.cf_flt_wrapper .cf_dropdown {
    width: 100%;
}

.cf_flt_wrapper {
    max-width: 380px;
}
/* CF dropdown links full-width clickable area */
.cf_flt_wrapper .cf_filter_dropdown_container.dropdown-menu .cf_filters_list {
    width: 100% !important;
}

.cf_flt_wrapper .cf_filter_dropdown_container.dropdown-menu .cf_filters_list_li {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cf_flt_wrapper .cf_filter_dropdown_container.dropdown-menu .cf_link {
    display: block !important;
    width: 100% !important;
}

.cf_flt_wrapper .cf_filter_dropdown_container.dropdown-menu a.cf_option {
    display: block !important;
    width: 100% !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    font-size: larger;
}

.cf_resetAll_link {
    font-size: 1.3em;
    display: block;
    padding: 20px;
}

/* ProOPC Login / Register Inputs */
#ProOPC input[type="text"],
#ProOPC input[type="email"],
#ProOPC input[type="password"],
#ProOPC input[type="tel"],
#ProOPC select,
#ProOPC textarea{

    width:90% !important;
    min-height:44px;

    padding:5px 5px;

    border:1px solid #d5d5d5;
    border-radius:6px;

    background:#fff;

    font-size:15px;
    line-height:1.4;
    color:#333;

    box-shadow:none;
    transition:border-color .2s ease;
}

/* Focus */
#ProOPC input[type="text"]:focus,
#ProOPC input[type="email"]:focus,
#ProOPC input[type="password"]:focus,
#ProOPC input[type="tel"]:focus,
#ProOPC select:focus,
#ProOPC textarea:focus{

    border-color:#999;
    outline:none;
    box-shadow:none;
}

/* Placeholder */
#ProOPC input::placeholder,
#ProOPC textarea::placeholder{
    color:#999;
}

/* Labels */
#ProOPC label{
    font-size:14px;
    font-weight:600;
    color:#333;
}

/* Mobile */
@media (max-width:767px){

    #ProOPC input[type="text"],
    #ProOPC input[type="email"],
    #ProOPC input[type="password"],
    #ProOPC input[type="tel"],
    #ProOPC select,
    #ProOPC textarea{

        font-size:16px;
    }

}

/* Match Main Checkout Buttons */
#proopc-task-guestcheckout,
#proopc-task-loginajax,
#proopc-task-registercheckout{

    width:100% !important;

    min-height:46px;

    padding:12px 18px;

    border-radius:6px;

    font-size:15px;
    font-weight:600;
    line-height:1.3;

    box-shadow:none;

    transition:
        opacity .2s ease,
        transform .15s ease;
}

/* Hover animation only */
#proopc-task-guestcheckout:hover,
#proopc-task-loginajax:hover,
#proopc-task-registercheckout:hover{

    transform:translateY(-1px);
}

/* Mobile */
@media (max-width:767px){

    #proopc-task-guestcheckout,
    #proopc-task-loginajax,
    #proopc-task-registercheckout{

        font-size:16px;
    }

}
/* ProOPC Checkout Labels */
.proopc-finalpage label,
.proopc-finalpage .hover-tootip{
    font-size:15px !important;
    font-weight:600;
    line-height:1.4;
}
/* Guest Checkout Email Label */
.proopc-guest-form label,
.proopc-guest-form .hover-tootip{
    font-size:14px !important;
    font-weight:600;
    line-height:1.4;
    vertical-align: middle;
}
.proopc-reg-form label,
.proopc-reg-form .hover-tootip{
    font-size:14px !important;
    font-weight:600;
    line-height:1.4;
}

/* Contact Form Styling */
.com-contact__form .control-group{
    margin-bottom:18px;
}

.com-contact__form .control-label label{
    display:block;
    margin-bottom:6px;

    font-size:15px;
    font-weight:600;
    line-height:1.4;

    color:#333;
}

/* Inputs + Textarea */
.com-contact__form .form-control{
    width:100%;

    min-height:44px;

    padding:10px 12px;

    border:1px solid #d5d5d5;
    border-radius:6px;

    background:#fff;

    font-size:15px;
    line-height:1.4;
    color:#333;

    box-shadow:none;
    box-sizing:border-box;

    transition:border-color .2s ease;
}

/* Textarea */
.com-contact__form textarea.form-control{
    min-height:180px;
    resize:vertical;
}

/* Focus */
.com-contact__form .form-control:focus{
    border-color:#999;
    outline:none;
    box-shadow:none;
}

/* Submit Button */
.com-contact__form .btn-primary{
    min-height:46px;

    padding:12px 22px;

    border:none;
    border-radius:6px;

    background:#f00;
    color:#fff;

    font-size:15px;
    font-weight:600;

    transition:
        opacity .2s ease,
        transform .15s ease;
}

.com-contact__form .btn-primary:hover{
    transform:translateY(-1px);
    opacity:.92;
}

/* Required Asterisk */
.com-contact__form .star,
.com-contact__form .red{
    color:#cc0000;
}

/* Hide product short description on VirtueMart category listings */
.category-view .product-short-description,
.category-view .product-description {
    display: none !important;
}