/* ========================= TABLE-4 ================ */

table.table-4 {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    color: #82f0c9;
    font-weight: 600;
    font-size: 1,6em;
}
table.table-4 tr {
		background-color: #fff;
}

table.table-4 td {
	text-align: left;
	padding: 18px;
	border: 0;
}
table.table-4 th {
    color: #fff;
    background-color: transparent;
    text-align: left;
	padding: 18px;
	border: 0;
}
.module-content .amosov {
  position: relative;
  margin:auto;
  width: 100%;
  max-width: 1170px;
}
.module-content .amosovtext {
  position: absolute;
  top: 30%;
  left: 45%;
  line-height: 100%;
}

/* ========================= TABLE-4 MOBILE ==================== */  

@media screen and (max-width: 600px) {
  	table.table-4 {
		border: 0;
  	}

  	table.table-4 thead {
	    border: none;
	    clip: rect(0 0 0 0);
	    height: 1px;
	    margin: -1px;
	    overflow: hidden;
	    padding: 0;
	    position: absolute;
	    width: 1px;
  	}
  
  	table.table-4 tr {
    	border: 0;
    	display: block;
   		margin-bottom: 30px;
  	}
  
	table.table-4 td {
    	display: block;
    	text-align: left;
       font-weight: bold;
       color: #82f0c9;
       text-transform: uppercase;
}
   	table.table-4 td::before {
	    content: attr(data-label);
	    float: right;
	    
	}
  
  	table.table-4 td:last-child {
    	border-bottom: 0;
  	}
}

/* ========================= TABLE CATALOGUE=================== */

table.table-catalogue {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
table.table-catalogue a {
    font-weight: 700;
}
table.table-catalogue tr {
		background-color: #f8faf8;
}
table.table-catalogue td {
	text-align: left;
	padding: 20px;
	border: 1px solid #78dbb8;
}
table.table-catalogue th {
    color: #fff;
    background-color: #78dbb8;
    text-align: left;
	padding: 20px;
	border: 1px solid #82f0c9;
}
/* TABLE PATENTS */
table.table-patents {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
table.table-patents a {
    font-weight: 700;
}
table.table-patents tr {
		background-color: #f8faf8;
}
table.table-patents td {
	text-align: left;
	padding: 20px;
	border: 1px solid #78dbb8;
}
table.table-patents th {
    color: #fff;
    background-color: #78dbb8;
    text-align: left;
	padding: 20px;
	border: 1px solid #82f0c9;
}

/* ========================== TABLE CATALOGUE MOBILE ==================== */  

@media screen and (max-width: 780px) {
  	table.table-catalogue {
		border: 0;
        font-weight: bold;
        font-size: 150%;
  	}
  	table.table-catalogue thead {
	    border: none;
	    clip: rect(0 0 0 0);
	    height: 1px;
	    margin: -1px;
	    overflow: hidden;
	    padding: 0;
	    position: absolute;
	    width: 1px;
  	}
  	table.table-catalogue tr {
    	border: 1px solid #78dbb8;
    	display: block;
   		margin-bottom: 30px;
  	}
	table.table-catalogue td {
    	display: block;
    	text-align: left;
        background-color: #f4f4f4;
        list-style-type: none!important;
    }
    table.table-catalogue li {
      list-style: none !important;
    }
	table.table-catalogue td::before {
	    content: attr(data-label);
	    float: left;
	    color: #78dbb8;
	    text-transform: uppercase;
	}
  	table.table-catalogue td:last-child {
    	border-bottom: 1px solid #78dbb8;
  	}
}

/* =========================== TABLE PATENTS MOBILE ================ */  

@media screen and (max-width: 780px) {
  	table.table-patents {
		border: 0;
        font-weight: bold;
        font-size: 150%;
  	}
  	table.table-patents thead {
	    border: none;
	    clip: rect(0 0 0 0);
	    height: 1px;
	    margin: -1px;
	    overflow: hidden;
	    padding: 0;
	    position: absolute;
	    width: 1px;
  	}
  	table.table-patents tr {
    	border: 1px solid #78dbb8;
    	display: block;
   		margin-bottom: 30px;
  	}
	table.table-patents td {
    	display: block;
    	text-align: right;
        background-color: #f4f4f4;
        list-style-type: none!important;
    }
    table.table-patents li {
      list-style: none !important;
    }
	table.table-patents td::before {
	    content: attr(data-label);
	    float: left;
	    color: #78dbb8;
	    text-transform: uppercase;
	}
  	table.table-patents td:last-child {
    	border-bottom: 1px solid #78dbb8;
  	}
}  
/* =================TABLE SHOP ========================= */
table.table-shop {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    color: #78dbb8;
    font-weight: bold;
    font-size: 1,6em;
}
table.table-shop tr {
		background-color: #fff;
}
table.table-shop td {
	text-align: center;
	width:33,33%;
	border: 0;
}
table.table-shop th {
    color: #fff;
    background-color: transparent;
    text-align: center;
	border: 0;
}
table.table-shop a {
    font-weight: 700;
}
table.table-shop p {
    padding-left: 5px;
    padding-left: 5px;
}

/* ============== TABLE SHOP MOBILE ======================= */  

@media screen and (max-width: 600px) {
  	table.table-shop {
		border: 0;
        font-weight: bold;
        font-size: 150%;   
  	}
 	table.table-shop thead {
	    border: none;
	    clip: rect(0 0 0 0);
	    height: 1px;
	    margin: -1px;
	    overflow: hidden;
	    padding: 0;
	    position: absolute;
	    width: 1px;
  	}
  	table.table-shop tr {
    	border: 0;
    	display: block;
   		margin-bottom: 30px;
  	}
	table.table-shop td {
    	display: block;
    	text-align: center;
        font-weight: bold;
        color: #82f0c9;
    }
	table.table-shop td::before {
	    content: attr(data-label);
	    float: left;
	    font-weight: bold;
        color: #82f0c9;
	    text-transform: uppercase;
	}
  	table.table-shop td:last-child {
    	border-bottom: 0;
  	}
}
@media screen and (max-width: 780px) {
  .module-content .mobmargin {
    margin: 10px 10px 10px 10px !important;
}
}
@media screen and (max-width: 780px) {
  .module-content .mobpadding {
    padding: 0px 15px 0px 15px !important;
}
}
@media screen and (max-width: 780px) {
  .module-content .mobfontsize {
    font-size: 18px !important;
}
}
@media screen and (max-width: 780px) {
  #breadcrumb-line.container {
  padding: 0px 15px 0px 15px !important;
}
}

/* =====================TABLE SUPPLEMENT FACTS===================== */
table.table-supplement-facts {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
table.table-supplement-facts a {
    font-weight: 700;
}
table.table-supplement-facts tr {
		background-color: #f8faf8;
}
table.table-supplement-facts td {
	text-align: left;
	padding: 20px;
	border: 1px solid #78dbb8;
}
table.table-supplement-facts th {
    color: #fff;
    background-color: #78dbb8;
    text-align: left;
	padding: 20px;
	border: 1px solid #82f0c9;
}

/* =================== TABLE SUPPLEMENT FACTS MOBILE =========== */  

@media screen and (max-width: 780px) {
  	table.table-supplement-facts {
		border: 0;
        font-weight: bold;
}
  	table.table-supplement-facts thead {
	    border: none;
	    clip: rect(0 0 0 0);
	    height: 1px;
	    margin: -1px;
	    overflow: hidden;
	    padding: 0;
	    position: absolute;
	    width: 1px;
  	}
  	table.table-supplement-facts tr {
    	border: 1px solid #78dbb8;
    	display: block;
   		margin-bottom: 30px;
  	}
	table.table-supplement-facts td {
    	display: block;
    	text-align: left;
        background-color: #f4f4f4;
        list-style-type: none!important;
    }
    table.table-supplement-facts li {
      list-style: none !important;
    }
	table.table-supplement-facts td::before {
	    content: attr(data-label);
	    color: #78dbb8;
	    margin-right: 30px;
	}
  	table.table-supplement-facts td:last-child {
    	border-bottom: 1px solid #78dbb8;
  	}
}

/* ================= NO LAPTOP - NO MOBILE ==================== */  

@media screen and (max-width: 780px) {
    .module-content .nomobvis {
     display: none !important;
     
}
}
@media screen and (min-width: 780px) {
    .module-content .nolaptopvis {
     display: none !important;
}  
}
/* ================КАТЕГОРИИ ВМ РАЗМЕР И РАМКИ===================== */
img.cat-vm {
  width: 250px; 
  height: 250px; 
  border: 3px solid #78dbb8;
}
/* =================BRANDS 10============================= */
.brands{
  column-count: 10 !important;
  text-align: center !important;
}
img.brands {
  margin-top: 10px;
  margin-right: auto;
  margin-bottom: 10px;
  margin-left: auto;
  max-width: 150px;
  float: center;
}
/* BRANDS-1 */
.brands1 {
  column-count: 1 !important;
  float: left !important;
}
img.brands1 {
  margin: 10px;
  max-width: 150px;
  float: left !important;
}
/* BRANDS-2 */
.brands2 {
  column-count: 2 !important;
  float: left !important;
}
img.brands2 {
  margin: 10px;
  max-width: 150px;
  float: left !important;
}
/* BRANDS-3 */
.brands3 {
  column-count: 3 !important;
  float: left !important;
}
img.brands3 {
  margin: 10px;
  max-width: 150px;
  float: left !important;
}

/* ======================TABLE HOME=========================== */
table.table-home {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    font-weight: 500;
    font-size: 1,3em;
}
table.table-home tr {
		background-color: #fff;
}
table.table-home td {
	text-align: left;
	width:2%;
	border: 0;
  vertical-align: top;
}
table.table-home th {
    color: #fff;
    background-color: transparent;
    text-align: left;
	border: 0;
}
table.table-home a {
    font-weight: 700;
    color: #62aae8 !important;
    font-size: 12px !important;
}
table.table-home a:hover {
    font-weight: 700;
    text-decoration: none;
    color: #5e96c6 !important;
    font-size: 12px !important;
}
table.table-home p {
    padding: 5px;
}
/* ======================BOTTOM-LONG======================  */
section#bottom-long {
    background: #fff !important;
    border-top: 1px solid #fff !important;
    border-bottom: 1px solid #fff !important;
}
.brands {
    column-count: 10 !important;
    text-align: center !important;
}
.brands1 {
    column-count: 1 !important;
    float: left !important;
}
.brands2 {
    column-count: 2 !important;
    float: left !important;
}
.brands3 {
    column-count: 3 !important;
    float: left !important;
}
.brands4 {
    column-count: 4 !important;
    float: left !important;
}
/* ====================== TABLE-3 ============================ */
table.table-3 {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
table.table-3 tr {
		background-color: #f8f8f8;
}
table.table-3 td {
	text-align: left;
	border: 1px solid #65889f;
}
table.table-3 th {
    color: #fff;
    background-color: #65889f;
    text-align: left;
	border: 1px solid #65889f;
}
/* TABLE SHOP */
table.table-shop {
    border-collapse: collapse;
    border-spacing: 0;
    font-weight: bold;
    background-color: transparent;
    text-decoration: none;
}
table.table-shop tr {
		background-color: transparent;
}
table.table-shop td {
	width:33,33%;
    text-align: center;
    border: 0;
    vertical-align: center;
}
table.table-shop th {
    text-align: center;
	border: 0;
}
table.table-shop a {
    font-weight: 500;
}
table.table-shop a :hover {
    font-weight: 500;
}
table.table-shop p {
    padding-right: 10px;
    padding-left: 10px;
}

/* ===================== TABLE-3 MOBILE ==================== */
@media screen and (max-width: 600px) {
  	table.table-3 {
		border: 0;
  	}

  	table.table-3 thead {
	    border: none;
	    clip: rect(0 0 0 0);
	    height: 1px;
	    margin: -1px;
	    overflow: hidden;
	    padding: 0;
	    position: absolute;
	    width: 1px;
  	}
  
  	table.table-3 tr {
    	border: 1px solid #82f0c9;
    	display: block;
   		margin-bottom: 30px;
  	}
  
	table.table-3 td {
    	display: block;
    	text-align: right;
       list-style-type: none!important;
}
    table.table-3 li {
      list-style: none !important;
}
	table.table-3 td::before {
	    content: attr(data-label);
	    float: left;
	    font-weight: bold;
        color: #82f0c9;
	    text-transform: uppercase;
	}
  
  	table.table-3 td:last-child {
    	border-bottom: 1px solid #82f0c9;
  	}
}

/* ==========================category====================== */
    .grid-container {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 10px;
      max-width: 790px;
      margin: 0 auto;
    }

    .grid-item {
      text-align: center;
      cursor: pointer;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      padding: 8px;
      border-radius: 3px;
    }

    .grid-item:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    .grid-item img {
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      border-radius: 3px;
      display: block;
    }

    .caption {
      margin-top: 10px;
      font-size: 15px;
      color: #333;
    }

    @media (max-width: 480px) {
      .caption {
        font-size: 13px;
      }
    }

/*mobile main menu new design*/
    @media (max-width: 767px) {
      #selectnav1 > li > a.mobile-menu-parent {
        font-weight: 700;
        color: #3f6478 !important;
        margin-top: 8px;
      }
    }

/*product title bold 21px*/
.h-pr-title a {
    font-size: 150%;
    font-weight: 700;
}

/* ==================== BREADCRAMBS MOBILE ========== */
@media screen and (max-width: 767px) {
    body {
        padding: 0px;
        font-weight: 700;
    }
}

/*==================== BORDER - 0 ==========================*/
.orderby-displaynumber {
    margin-bottom: 30px;
    border-bottom: 0px solid #FFFFFF;
    padding-top: 15px;
    border-top: 0px solid #FFFFFF;
}

/* Zeus mobile Mega Menu — restore J3 geometry */
@media (max-width: 979px) {

    .megamenu-background {
        height: 60px !important;
    }

    #megamenu-handler .row-fluid {
        height: 60px !important;
    }

    #cl-handler {
        height: 60px !important;
    }

    #menupanel2 {
        float: left !important;
        position: relative !important;

        width: 100px !important;
        height: 60px !important;

        margin-left: 20px !important;

        padding-top: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 10px !important;

        line-height: 60px !important;
        text-align: left !important;

        font-size: 21px !important;
        font-weight: 700 !important;

        color: #ffffff !important;

        border-radius: 3px 0 0 3px !important;
    }

    #menupanel2 .fa-bars {
        color: #ffffff !important;
        font-size: 21px !important;
        width: 18px !important;
    }
    
    #menupanel2::after {
        content: "MENU";
        display: inline-block;
        margin-left: 7px;
        color: #ffffff;
        font-family: Roboto, Arial, Helvetica, sans-serif;
        font-size: 21px;
        font-weight: 700;
        line-height: 60px;
        vertical-align: top;
    }
    #cl-handler #vmCartModule {
        margin-top: 0 !important;
    }

    ul#mega-menu > li > a {
        font-weight: 700 !important;
    }

    ul#mega-menu > li.active > a, .menu-nav > li > a:hover {
        color: #78dbb8 !important;
    }
}


/* Zeus mobile Top Menu */
@media (max-width: 979px) {

    #menupanel {
        color: #45b59f !important;
        font-size: 0px !important;
        font-weight: 700 !important;
    }

    #menupanel .fa,
    #menupanel .fa-bars {
        color: #45b59f !important;
        font-size: 14px !important;
    }

    #menupanel::after {
        content: "USEFUL INFORMATION";
        color: #45b59f !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        margin-left: 5px;
    }
    
    .menu-nav > li > a {
        color: #494949 !important;
        font-weight: 700 !important;
        font-size: 14px !important;
    }

}

/* VirtueMart checkout login — Bootstrap 5 compatibility */
#vm-login.collapse.show {
height: auto !important;
overflow: visible !important;
}

#foo-left-right > .span12 + .span12 {
margin-left: 0;
}

#system-message-container joomla-alert[type="info"] div.alert-heading > span.info {
    padding: 0;
    margin: 0;
    height: auto;
    background: none;
    border: 0;
    box-shadow: none;
    color: inherit;
}

/* UI-720: contain only the Ask Question Fancybox on mobile. */
@media (max-width: 767px) {
    #fancybox-wrap:has(#fancybox-content > iframe[src*="task=askquestion"]) {
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        box-sizing: border-box;
    }

    #fancybox-wrap:has(#fancybox-content > iframe[src*="task=askquestion"]) #fancybox-outer,
    #fancybox-wrap:has(#fancybox-content > iframe[src*="task=askquestion"]) #fancybox-content {
        box-sizing: border-box;
        max-width: 100%;
    }

    #fancybox-wrap:has(#fancybox-content > iframe[src*="task=askquestion"]) #fancybox-content {
        width: 100% !important;
    }
}

/* UI-723: separate Continue Shopping from the checkout step. */
.cart-view .vm-cart-header-container .vm-continue-shopping {
    margin-bottom: 15px;
}

.cart-view .vm-cart-header-container .checkoutStep {
    clear: both;
}

/* UI-725: align the cart coupon input with its SAVE button. */
.cart-view .vm-coupon-row .input-group > input.coupon.form-control {
    height: 30px !important;
    margin: 0 !important;
    box-sizing: border-box;
}

/* UI-726: use the Zeus selected-state background in the cart. */
.cart-view .vm-shipment-row .label-success,
.cart-view .vm-payment-row .label-success {
    background-color: #45b59f;
}

/* UI-727: emphasize only the final Cart Total amount. */
.cart-view .vm-carttotal-row > td.priceCol:last-child,
.cart-view .vm-mobile-total tr:last-child > td.priceCol:last-child {
    font-weight: 700;
}

/* UI-724 recovery: stable quantity and action controls. */
.cart-view .zeus-cart-quantity {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center;
    justify-content: center;
    gap: 4px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

.cart-view .zeus-cart-quantity > input.quantity-input {
    display: block !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    float: none !important;
    text-align: center;
    box-sizing: border-box;
}

.cart-view .zeus-cart-quantity > .zeus-cart-action {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 28px !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    overflow: visible !important;
    white-space: nowrap !important;
    border-radius: 3px;
    box-sizing: border-box;
    cursor: pointer;
}

.cart-view .zeus-cart-quantity > .zeus-cart-update {
    color: #ffffff !important;
    background: #45b59f none !important;
    border: 1px solid #45b59f !important;
}

.cart-view .zeus-cart-quantity > .zeus-cart-update:hover,
.cart-view .zeus-cart-quantity > .zeus-cart-update:focus,
.cart-view .zeus-cart-quantity > .zeus-cart-update:active {
    color: #ffffff !important;
    background: #82f0c9 none !important;
    border-color: #82f0c9 !important;
}

.cart-view .zeus-cart-quantity > .zeus-cart-delete,
.cart-view .zeus-cart-quantity > .zeus-cart-delete:hover,
.cart-view .zeus-cart-quantity > .zeus-cart-delete:focus,
.cart-view .zeus-cart-quantity > .zeus-cart-delete:active {
    color: #a94442 !important;
    background: #ffffff none !important;
    border: 1px solid #a94442 !important;
}

.cart-view .zeus-cart-action-symbol {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1 !important;
    text-indent: 0 !important;
}

.cart-view .zeus-cart-action-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 767px) {
    .cart-view .zeus-cart-quantity {
        gap: 2px !important;
    }

    .cart-view .zeus-cart-quantity > input.quantity-input {
        flex-basis: 32px !important;
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 24px !important;
        padding: 1px 2px !important;
        font-size: 11px !important;
    }

    .cart-view .zeus-cart-quantity > .zeus-cart-action {
        flex-basis: 24px !important;
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 24px !important;
    }

    .cart-view .zeus-cart-action-symbol {
        font-size: 15px !important;
    }
}

/* Mobile cart product rows: semantic labels and contained card geometry. */
.cart-view .zeus-cart-mobile-label {
    display: none;
}

@media (max-width: 767px) {
    .cart-view .cart-summary.table-bordered {
        border: 0;
        border-radius: 0;
        border-collapse: collapse;
    }

    .cart-view .cart-summary .vm-head-row,
    .cart-view .cart-summary .vm-cart-hide {
        display: none;
    }

    .cart-view .cart-summary tr.zeus-cart-product-row {
        display: block;
        width: 100%;
        padding: 12px 0;
        border-bottom: 1px solid #dddddd;
        box-sizing: border-box;
    }

    .cart-view .cart-summary tr.zeus-cart-product-row > td {
        display: flex;
        align-items: center;
        width: 100%;
        min-width: 0;
        padding: 4px 0;
        border: 0;
        border-radius: 0;
        text-align: left;
        box-sizing: border-box;
    }

    .cart-view .cart-summary tr.zeus-cart-product-row > td.zeus-cart-product-main {
        display: block;
        padding-bottom: 8px;
        font-size: 15px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .cart-view .zeus-cart-product-main > a {
        font-weight: 600;
    }

    .cart-view .zeus-cart-product-main .cart-images {
        display: block;
        float: none;
        margin: 0 0 6px;
    }

    .cart-view .zeus-cart-product-main .cart-images img {
        width: auto;
        max-width: 60px;
        height: auto;
    }

    .cart-view .cart-summary tr.zeus-cart-product-row > td.zeus-cart-product-sku {
        display: flex;
    }

    .cart-view .zeus-cart-mobile-label {
        display: inline-block;
        flex: 0 0 72px;
        color: #555555;
        font-size: 13px;
        font-weight: 400;
        line-height: 24px;
    }

    .cart-view .zeus-cart-product-sku,
    .cart-view .zeus-cart-product-price,
    .cart-view .zeus-cart-product-quantity,
    .cart-view .zeus-cart-product-total {
        color: #393939;
        font-size: 14px;
        line-height: 1.4;
    }

    .cart-view .zeus-cart-product-price .vm-price-value {
        font-weight: 600;
    }

    .cart-view .zeus-cart-product-total .vm-price-value {
        font-weight: 700;
    }

    .cart-view .zeus-cart-product-quantity .zeus-cart-quantity {
        justify-content: flex-start;
    }

    .cart-view .vm-mobile-total {
        display: table;
        width: 100%;
        max-width: 100%;
    }
}

/* IMG-718: contain only the product image Fancybox on mobile. */
@media (max-width: 767px) {
    #fancybox-wrap:has(#fancybox-content > #fancybox-img) {
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        box-sizing: border-box;
    }

    #fancybox-wrap:has(#fancybox-content > #fancybox-img) #fancybox-outer,
    #fancybox-wrap:has(#fancybox-content > #fancybox-img) #fancybox-content {
        box-sizing: border-box;
        max-width: 100%;
    }

    #fancybox-wrap:has(#fancybox-content > #fancybox-img) #fancybox-content {
        width: 100% !important;
        height: auto !important;
    }

    #fancybox-wrap:has(#fancybox-content > #fancybox-img) #fancybox-img {
        display: block;
        width: 100% !important;
        max-width: 100%;
        height: auto !important;
    }
}

/* VirtueMart Terms: contain only the TOS Fancybox on mobile. */
@media (max-width: 767px) {
    #fancybox-wrap.zeus-tos-fancybox {
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        box-sizing: border-box;
    }

    #fancybox-wrap.zeus-tos-fancybox #fancybox-outer,
    #fancybox-wrap.zeus-tos-fancybox #fancybox-content {
        box-sizing: border-box;
        max-width: 100%;
    }

    #fancybox-wrap.zeus-tos-fancybox #fancybox-content {
        width: 100% !important;
        height: auto !important;
    }

    #fancybox-wrap.zeus-tos-fancybox #fancybox-close {
        top: 0 !important;
        right: 0 !important;
    }
}

/* VirtueMart Terms: keep the desktop Fancybox inside the viewport. */
@media (min-width: 768px) {
    #fancybox-wrap.zeus-tos-fancybox {
        left: 5vw !important;
        right: 5vw !important;
        width: auto !important;
        max-width: 90vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    #fancybox-wrap.zeus-tos-fancybox #fancybox-outer,
    #fancybox-wrap.zeus-tos-fancybox #fancybox-content,
    #fancybox-wrap.zeus-tos-fancybox #fancybox-content > div {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    #fancybox-wrap.zeus-tos-fancybox #fancybox-close {
        top: 0 !important;
        right: 0 !important;
    }
}

/* My Account popup — peptides-online layout adapted for Zeus */

#LoginForm {
    max-width: 560px;
}

/* Header */
#LoginForm .modal-header {
    position: relative;
    padding: 16px 15px 12px 22px !important;
    border-bottom: 1px solid #e5e5e5;
}

#LoginForm #myModalLabel {
    display: block;
    margin: 0;
    color: #666666;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.4;
}

#LoginForm .login-close-x {
    position: absolute;
    top: 10px;
    right: 14px;
    color: #666666;
    font-size: 25px;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
}

#LoginForm .login-close-x:hover,
#LoginForm .login-close-x:focus {
    color: #45b59f;
}

/* Body */
#LoginForm .modal-body {
    padding: 20px 30px 28px;
    min-height: 220px;
}

#LoginForm #login-form .userdata {
    margin: 0;
    padding: 0;
    border: 0;
}

#LoginForm #login-form .control-group {
    display: flex;
    align-items: center;
    margin: 0 0 18px;
}

#LoginForm #login-form .control-label {
    flex: 0 0 120px;
    width: 120px;
    margin: 0 20px 0 0;
    padding: 0;
    color: #555555;
    text-align: right;
    font-weight: normal;
}

#LoginForm #login-form .controls {
    margin: 0;
}

/* Username / Password */
#LoginForm #modlgn-username,
#LoginForm #modlgn-passwd {
    width: 220px;
    height: 50px;
    margin: 0;
    padding: 8px 10px;
    box-sizing: border-box;
}

#LoginForm .input-append {
    display: flex;
    align-items: center;
}

/* Password eye */
#LoginForm .input-password-toggle {
    /* display: inline-flex; */
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 5px;
    padding: 0;
    border: 1px solid #78dbb8;
    background: #78dbb8;
    color: #ffffff;
    box-sizing: border-box;
    line-height: 1;
    align-self: center;
}

#LoginForm .input-password-toggle:hover,
#LoginForm .input-password-toggle:focus {
    background: #82f0c9;
    border-color: #82f0c9;
    color: #ffffff;
}

/* Login button group */
#LoginForm .btn-group {
    position: relative;
    display: inline-flex;
}

#LoginForm .btn-group > .button {
    min-height: 38px;
    margin: 0;
    padding: 7px 14px;
    border: 1px solid #78dbb8;
    background: #78dbb8;
    color: #ffffff;
    font-weight: bold;
}

#LoginForm .btn-group > .dropdown-toggle {
    min-width: 36px;
    padding-left: 10px;
    padding-right: 10px;
}

#LoginForm .btn-group > .button:hover,
#LoginForm .btn-group > .button:focus {
    background: #82f0c9;
    border-color: #82f0c9;
    color: #ffffff;
}

/* Login options — force opening DOWN */
#LoginForm .btn-group > .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important;
    left: 70px !important;
    right: auto !important;
    transform: none !important;
    min-width: 190px;
    margin: 0;
    padding: 0;
    background: #78dbb8;
    border: 0;
    z-index: 10050;
}

#LoginForm .btn-group.open > .dropdown-menu {
    display: block;
}

#LoginForm .dropdown-menu > li > a {
    display: block;
    padding: 2px 12px;
    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;
}

#LoginForm .dropdown-menu > li > a:hover,
#LoginForm .dropdown-menu > li > a:focus {
    background: #82f0c9;
    color: #ffffff;
}

/* Remember Me stays grey */
#LoginForm #login-form label.inline {
    margin: 0;
    color: #555555;
    font-weight: normal;
}

#LoginForm #modlgn-remember {
    margin: 0 6px 0 0;
}

/* Logged-in state */
#LoginForm .login-greeting {
    margin-bottom: 6px;
    color: #555555;
}

#LoginForm .logout-button .button {
    padding: 7px 14px;
    border: 1px solid #78dbb8;
    background: #78dbb8;
    color: #ffffff;
    font-weight: bold;
}

#LoginForm .logout-button .button:hover,
#LoginForm .logout-button .button:focus {
    background: #82f0c9;
    border-color: #82f0c9;
    color: #ffffff;
}

#LoginForm .modal-body a {
    color: #45b59f;
}

/* Footer */
#LoginForm .login-modal-footer {
    min-height: 48px;
    padding: 14px 15px;
    border-top: 1px solid #dddddd;
    background: #f5f5f5;
    text-align: right;
    box-sizing: border-box;
}

/* CLOSE button */
#LoginForm .login-close-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 74px;
    padding: 0 18px;
    border: 1px solid #78dbb8;
    background: #ffffff;
    color: #78dbb8;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    box-sizing: border-box;
}

#LoginForm .login-close-button:hover,
#LoginForm .login-close-button:focus {
    background: #82f0c9;
    border-color: #82f0c9;
    color: #ffffff;
    text-decoration: none;
}

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

    #LoginForm {
        width: calc(100% - 20px);
        max-width: none;
        left: 10px !important;
        right: 10px !important;
        margin-left: 0 !important;
        box-sizing: border-box;
    }

    #LoginForm .modal-body {
        padding: 20px;
        min-height: 280px;
    }

    #LoginForm #login-form .control-group {
        display: block;
        margin-bottom: 16px;
    }

    #LoginForm #login-form .control-label {
        width: auto;
        margin: 0 0 5px;
        text-align: left;
    }

    #LoginForm #modlgn-username {
        width: 100%;
    }

    #LoginForm .input-append {
        width: 100%;
    }

    #LoginForm #modlgn-passwd {
        width: calc(100% - 40px);
    }

    #LoginForm #login-form .control-group:last-of-type {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    #LoginForm #login-form .control-group:last-of-type .control-label {
        flex: 0 0 auto;
        margin: 0;
    }

    #LoginForm #login-form .control-group:last-of-type .controls {
        flex: 1 1 auto;
    }
}

    #LoginForm .login-close-x {
        display: none !important;
}

/* Notify Me: isolated Bootstrap 2 / VM 4.6.4 form geometry and palette. */
.zeus-notify-view {
    max-width: 640px;
}

.zeus-notify-view .zeus-notify-label {
    display: block;
    margin: 0 0 6px;
    font-weight: bold;
}

.zeus-notify-view .zeus-notify-controls {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 640px;
}

.zeus-notify-view #notify_email {
    flex: 1 1 280px;
    width: auto !important;
    min-width: 0;
    height: 40px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #cccccc;
    box-sizing: border-box;
}

.zeus-notify-view #notify_email:focus {
    border-color: #45b59f;
    box-shadow: 0 0 0 2px rgba(69, 181, 159, 0.18);
}

.zeus-notify-view .notify-button {
    flex: 0 0 auto;
    min-height: 40px;
    margin: 0;
    padding: 8px 18px;
    color: #ffffff !important;
    background: #78dbb8 none !important;
    border: 1px solid #78dbb8 !important;
    text-shadow: none !important;
    box-sizing: border-box;
}

.zeus-notify-view .notify-button:hover,
.zeus-notify-view .notify-button:focus,
.zeus-notify-view .notify-button:active {
    color: #ffffff !important;
    background: #82f0c9 none !important;
    border-color: #82f0c9 !important;
}

@media (max-width: 600px) {
    .zeus-notify-view .zeus-notify-controls {
        display: block;
    }

    .zeus-notify-view #notify_email,
    .zeus-notify-view .notify-button {
        display: block;
        width: 100% !important;
    }

    .zeus-notify-view .notify-button {
        margin-top: 10px;
    }
}

/* Notify Me product trigger: undo btn-block shrink-to-fit wrapping only here. */
.productdetails-view .addtocart-bar > a.notify.btn.btn-primary.btn-block {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 110px;
    min-height: 38px;
    padding: 8px 18px !important;
    color: #ffffff !important;
    background: #78dbb8 none !important;
    border: 1px solid #78dbb8 !important;
    box-sizing: border-box;
    white-space: nowrap;
    text-decoration: none;
}

.productdetails-view .addtocart-bar > a.notify.btn.btn-primary.btn-block:hover,
.productdetails-view .addtocart-bar > a.notify.btn.btn-primary.btn-block:focus,
.productdetails-view .addtocart-bar > a.notify.btn.btn-primary.btn-block:active {
    color: #ffffff !important;
    background: #82f0c9 none !important;
    border-color: #82f0c9 !important;
    text-decoration: none;
}

/* VirtueMart shop-front categories: Peptides Online card behavior, dynamic rows. */
.zeus-shop-category-grid .row-fluid {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.zeus-shop-category-grid .row-fluid > .category {
    display: flex;
}

.zeus-shop-category-grid .row-fluid > .category > .spacer {
    display: flex;
    width: 100%;
    padding-bottom: 0 !important;
    background: transparent;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.zeus-shop-category-grid .row-fluid > .category > .spacer > h2,
.zeus-shop-category-grid .row-fluid > .category > .spacer > h2 > a {
    width: 100%;
    height: 100%;
}

.zeus-shop-category-grid .row-fluid > .category > .spacer > h2.category-view-title {
    overflow: visible;
}

.zeus-shop-category-grid .row-fluid > .category > .spacer > h2 > a {
    display: flex;
    flex-direction: column;
    cursor: pointer;
}

.zeus-shop-category-grid .row-fluid > .category > .spacer > h2 > a > br {
    display: none;
}

.zeus-shop-category-grid .row-fluid > .category > .spacer img,
.zeus-shop-category-grid .row-fluid > .category > .spacer:hover img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    opacity: 1;
}

.zeus-shop-category-grid .row-fluid > .category > .spacer .cat-title {
    position: static !important;
    display: flex;
    flex: 1 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    padding: 10px 8px;
    box-sizing: border-box;
    color: #45B59F !important;
    font-size: 15px !important;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

.zeus-shop-category-grid .row-fluid:hover > .category:hover > .spacer .cat-title,
.zeus-shop-category-grid .row-fluid > .category > .spacer:focus-within .cat-title,
.zeus-shop-category-grid .row-fluid > .category > .spacer > h2 > a:focus .cat-title {
    color: #78dbb8 !important;
    font-weight: 700;
}

.zeus-shop-category-grid .row-fluid:hover > .category:hover > .spacer,
.zeus-shop-category-grid .row-fluid > .category > .spacer:focus-within {
    padding-bottom: 0 !important;
    background: transparent;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

@media (max-width: 767px) {
    .zeus-shop-category-grid {
        width: calc(100% - 40px);
        margin-right: auto;
        margin-left: auto;
        box-sizing: border-box;
    }

    .zeus-shop-category-grid .row-fluid > .category {
        float: none;
        width: 100% !important;
        min-height: 0;
        margin: 0 0 18px !important;
    }

    .zeus-shop-category-grid .row-fluid > .category > .spacer .cat-title,
    .zeus-shop-category-grid .row-fluid:hover > .category:hover > .spacer .cat-title {
        font-size: 17px !important;
    }
}

/* Homepage product tabs/carousels: scoped reference-style repair. */
#tabs-1 > .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 0 0 30px;
    padding: 0;
    background: transparent;
    border: 0;
    text-align: center;
}

#tabs-1 > .nav-tabs > li {
    float: none !important;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#tabs-1 > .nav-tabs > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 0 !important;
    padding: 12px 22px;
    color: #45b59f !important;
    background: #ffffff !important;
    border: 1px solid #78dbb8 !important;
    border-radius: 4px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
}

#tabs-1 > .nav-tabs > li > a:hover,
#tabs-1 > .nav-tabs > li > a:focus {
    color: #ffffff !important;
    background: #82f0c9 !important;
    border-color: #82f0c9 !important;
}

#tabs-1 > .nav-tabs > li.active > a {
    color: #ffffff !important;
    background: #78dbb8 !important;
    border-color: #78dbb8 !important;
}

#tabs-1 > .nav-tabs > li.active > a:hover,
#tabs-1 > .nav-tabs > li.active > a:focus {
    color: #ffffff !important;
    background: #82f0c9 !important;
    border-color: #82f0c9 !important;
}

#tabs-1 > .tab-content,
#tabs-1 > .tab-content > .tab-pane,
#tabs-1 .vmgroup_products.product-sl-handler,
#tabs-1 .sl-products.owl-carousel {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    box-sizing: border-box;
}

#tabs-1 .sl-products.owl-carousel {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
}

#tabs-1 .owl-wrapper {
    display: flex !important;
    align-items: stretch;
}

#tabs-1 .owl-item {
    float: none;
    display: flex;
    height: auto;
}

#tabs-1 .owl-item > li,
#tabs-1 .owl-item > div {
    display: flex;
    width: 100%;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box;
    list-style: none;
}

#tabs-1 .owl-item .spacer {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

#tabs-1 .owl-item .pr-img-handler,
#tabs-1 .owl-item .pr-img-handler > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

#tabs-1 .owl-item .pr-img-handler > a > img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
}

#tabs-1 .owl-item .action-handler {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
}

#tabs-1 .owl-item .action-handler > .productdetails {
    margin-top: auto;
}

#tabs-1 .owl-theme .owl-controls {
    position: static;
    top: auto;
    right: auto;
    width: 100%;
    margin-top: 16px;
    text-align: center;
}

#tabs-1 .owl-theme .owl-controls .owl-buttons {
    display: flex !important;
    justify-content: center;
    gap: 10px;
}

#tabs-1 .owl-theme .owl-controls .owl-buttons div {
    width: 40px;
    height: 40px;
    margin: 0;
    color: #ffffff;
    background: #78dbb8 !important;
    border-radius: 4px;
    box-sizing: border-box;
    opacity: 1;
}

#tabs-1 .owl-theme .owl-controls.clickable .owl-buttons div:hover,
#tabs-1 .owl-theme .owl-controls .owl-buttons div:focus {
    background: #82f0c9 !important;
}

#tabs-1 .owl-theme .owl-controls .owl-buttons div.owl-prev:before,
#tabs-1 .owl-theme .owl-controls .owl-buttons div.owl-next:before {
    top: 14px;
}

#tabs-1 .owl-theme .owl-controls .owl-buttons div.owl-prev:before {
    left: 10px;
}

#tabs-1 .owl-theme .owl-controls .owl-buttons div.owl-next:before {
    left: 20px;
}

@media (min-width: 768px) {
    #tabs-1 .owl-item > li,
    #tabs-1 .owl-item > div {
        width: calc(100% - 12px);
        margin-right: 6px !important;
        margin-left: 6px !important;
        padding: 0 !important;
    }
}

@media (max-width: 767px) {
    #tabs-1 {
        width: calc(100% - 24px);
        max-width: 370px;
        margin-right: auto;
        margin-left: auto;
        overflow: hidden;
        box-sizing: border-box;
    }

    #tabs-1 > .nav-tabs {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        width: 100%;
        margin-bottom: 22px;
    }

    #tabs-1 > .nav-tabs > li,
    #tabs-1 > .nav-tabs > li > a {
        width: 100%;
        box-sizing: border-box;
    }

    #tabs-1 .owl-wrapper-outer,
    #tabs-1 .owl-item,
    #tabs-1 .owl-item > li,
    #tabs-1 .owl-item > div {
        min-width: 0;
        box-sizing: border-box;
    }

    #tabs-1 .owl-item > li,
    #tabs-1 .owl-item > div {
        justify-content: center;
        padding: 0 12px !important;
    }

    #tabs-1 .owl-item .spacer {
        max-width: 346px;
    }
}

/* Category product listing cards: light frame within the existing grid gaps. */
.browse-view > .row-fluid > .product > .spacer {
    width: 100%;
    border: 1px solid #dddddd;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .browse-view > .row-fluid > .product > .spacer > .pr-img-handler {
        left: -1px;
    }
}

@media (max-width: 767px) {
    .browse-view > .row-fluid > .product > .spacer {
        padding-top: 20px;
    }
}

/* Homepage responsive art direction: one Joomla module per visual block. */
.moduletable.epeptide-home-responsive-module .epeptide-home-picture,
.moduletable.epeptide-home-responsive-module .epeptide-home-picture img {
    display: block;
    width: 100%;
    height: auto;
}

.moduletable.epeptide-home-responsive-module .epeptide-home-mobile-only {
    display: none;
}

@media (max-width: 767px) {
    .moduletable.epeptide-home-responsive-module .epeptide-home-desktop-only {
        display: none !important;
    }

    .moduletable.epeptide-home-responsive-module .epeptide-home-mobile-only {
        display: block;
    }
}

/* Khavinson position: reduce the template's 110px vertical section padding. */
#top-long {
    padding-top: 20px;
    padding-bottom: 20px;
}

/* Manufacturer detail only: retain natural logo size within a 150px box. */
.zeus-manufacturer-detail .manufacturer-image img {
    display: block;
    float: none;
    max-width: 150px;
    max-height: 150px;
    width: auto;
    height: auto;
    margin: 0;
}

.zeus-manufacturer-detail .zeus-manufacturer-products {
    clear: both;
}

.zeus-manufacturer-detail hr {
    display: none;
}

.zeus-manufacturer-detail {
    border-bottom: 0 !important;
}

/* Mobile content geometry: contain centered title decoration and restore gutters. */
@media screen and (max-width: 767px) {
    .centered > h3 .h-cl::before,
    .centered > h3 .h-cl::after {
        display: none;
    }

    #main-content-handler,
    #tab-modules .container,
    #tabs-1,
    #top-modules .container,
    #welcome-box,
    .main-bg,
    #bottom-long,
    #bottom-bg .container,
    #top-long-2 .container {
        width: auto;
        max-width: none;
        margin-left: 15px;
        margin-right: 15px;
        box-sizing: border-box;
    }
}

/* separator between product description and navigation */
.product-description-separator {
    border: 0;
    border-top: 1px solid #d9d9d9;
    margin: 20px 0;
}

/* camera caption mobile up */
@media (max-width: 767px) {
    #ph-camera-slideshow .camera_caption {
        bottom: 30px;
    }
}
/* SPECIAL and SALE */
.pr-img-handler {
    position: relative;
}

.product-badge {
    position: absolute;
    right: 8px;
    z-index: 10;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

.product-badge-best-choice {
    top: 8px;
    background: #45B59f;
}

.product-badge-sale {
    top: 38px;
    background: #b22222;
}

/* Homepage product module ribbons */
.special-ribbon .ribbon-special,
.hot-ribbon .ribbon-hot,
.new-ribbon .ribbon-new {
    width: auto;
    height: auto;
    min-width: 70px;
    position: absolute;
    z-index: 99;

    top: 8px;
    right: 8px;
    left: auto;

    display: block;

    padding: 6px 12px;

    background-image: none;
    background-repeat: no-repeat;

    text-indent: 0;

    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

/* BEST CHOICE */
.special-ribbon .ribbon-special {
    background-color: #45B59f;
}

/* HOT / SALE */
.hot-ribbon .ribbon-hot {
    background-color: #f0ae63;
}

/* NEW */
.new-ribbon .ribbon-new {
    background-color: #2d82b5;
}

/* module our happy customers say in landscape */
@media (min-width: 768px) and (max-width: 979px) {
    .module-content .amosovtext {
        top: 1%;
        left: 40%;
        width: 75%;
        line-height: 1.15;
    }
}
