/* VirtueMart shared rules. Loaded on all VirtueMart views. */
.product-fields .product-field{margin:0 auto}
.product-fields span.hasTooltip{width:auto;height:auto;padding:4px 4px 0;display:inline-block;margin-bottom:-2px}
.product-fields span.hasTooltip img{margin:0 auto;display:table;float:none}
.product-fields .product-field-display{margin:10px auto 10px}
.product-fields .product-field-display label{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:pointer;margin:0 5px 5px 0;display:inline-block}
.product-fields .product-field-display label input.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none;height:0;width:0;border:0;opacity:0;outline:0}
.product-fields .product-field-display label span.checker,.product-fields .product-field-display label span.checker-select{line-height:25px;display:block;float:right;border:1px solid #ccc;color:#595959;padding:4px 18px;border-radius:4px}
.product-fields .product-field-display label span.checker-select{background:#f3f3f3;padding:4px 35px}
.product-fields .product-field-display label input.form-radio:hover+span.checker{border:1px solid #999}
.product-fields .product-field-display label input.form-radio:checked+span.checker{color:#0b0d11;border:1px solid #0b0d11;padding-left:22px;opacity:1}
.product-fields .product-field-display label input.form-radio+span.checker::before{opacity:0;content:'';transform:rotate(30deg) scale(0);-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}
.product-fields .product-field-display label input.form-radio:checked+span.checker::before{position:relative;display:inline-block;left:-8px;top:-2px;content:'\02143';transform:rotate(40deg) scale(1);color:var(--regos-text-soft,#353f4f);font-weight:bold;opacity:1}
.product-fields .product-field-display .vm-cmv-label{margin:2px 12px 10px 0;display:inline-block;vertical-align:top;font-weight:bold;color:#555}

:root{
  --regos-vm-radius-surface:var(--regos-radius-surface,24px);
  --regos-vm-radius-card:var(--regos-radius-card,22px);
  --regos-vm-radius-control:var(--regos-radius-control,16px);
  --regos-vm-radius-pill:var(--regos-radius-pill,999px);
  --regos-vm-border:var(--regos-border,#e1e7ef);
  --regos-vm-border-soft:var(--regos-border-soft,#edf1f6);
  --regos-vm-soft:var(--regos-soft,#f5f7fa);
  --regos-vm-muted-bg:var(--regos-muted-bg,#f8fafc);
  --regos-vm-blue-soft:var(--regos-accent-soft,#eef2f7);
  --regos-vm-text:var(--regos-text-soft,#353f4f);
  --regos-vm-muted-strong:var(--regos-muted-strong,#475467);
  --regos-vm-muted:var(--regos-muted,#667085);
  --regos-vm-muted-soft:var(--regos-muted-soft,#98a2b3);
  --regos-vm-badge-featured-bg:#7b379c;
  --regos-vm-badge-featured-text:#fff;
  --regos-vm-badge-featured-border:#7b379c;
  --regos-vm-badge-sales-bg:#ff0;
  --regos-vm-badge-sales-text:var(--regos-text-soft,#353f4f);
  --regos-vm-badge-sales-border:#e3d600;
  --regos-vm-badge-top-bg:var(--regos-danger,#951111);
  --regos-vm-badge-top-text:#fff;
  --regos-vm-badge-top-border:var(--regos-danger,#951111);
  --regos-vm-badge-new-bg:var(--regos-accent,#4d6b97);
  --regos-vm-badge-new-text:#fff;
  --regos-vm-badge-new-border:var(--regos-accent,#4d6b97);
  --regos-vm-shadow:var(--regos-shadow,none);
  --regos-vm-shadow-soft:var(--regos-shadow-soft,none);
}

.com_virtuemart .text-muted{
  color:var(--regos-vm-muted)!important;
}

.view-category .btn:not(.sppb-btn-link),
.view-productdetails .btn:not(.sppb-btn-link),
.view-cart .btn:not(.sppb-btn-link),
.view-user .btn:not(.sppb-btn-link),
.view-orders .btn:not(.sppb-btn-link),
.view-manufacturer .btn:not(.sppb-btn-link),
.view-virtuemart .btn:not(.sppb-btn-link),
.view-productdetails .addtocart-button,
.view-category .addtocart-button,
.view-cart .vm-button,
.view-cart .vm-button-correct,
.view-cart input[type="submit"],
.view-cart button[type="submit"],
.view-cart button[type="button"],
.productdetails-view .ask-a-question a.ask-a-question{
  border-radius:var(--regos-vm-radius-pill);
}

.view-category input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.view-category select,
.view-category textarea,
.view-productdetails input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.view-productdetails select,
.view-productdetails textarea,
.view-cart input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.view-cart select,
.view-cart textarea,
.product-fields .product-field-display label span.checker,
.product-fields .product-field-display label span.checker-select{
  border-radius:var(--regos-vm-radius-control);
}

.product-fields .product-field-display label span.checker,
.product-fields .product-field-display label span.checker-select{
  border-color:var(--regos-vm-border);
  background:#fbfcfe;
  color:var(--regos-vm-muted-strong);
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.product-fields .product-field-display label input.form-radio:hover+span.checker,
.product-fields .product-field-display label input.form-radio:hover+span.checker-select{
  border-color:var(--regos-accent,#4d6b97);
  box-shadow:none;
}

.product-fields .product-field-display label input.form-radio:checked+span.checker,
.product-fields .product-field-display label input.form-radio:checked+span.checker-select{
  border-color:var(--regos-accent,#4d6b97);
  background:var(--regos-vm-blue-soft);
  color:var(--regos-vm-text);
}

.product-fields .product-field-display .vm-cmv-label{
  color:var(--regos-vm-muted-strong);
}

.product-topleft,
.product-bottomleft{
  position:absolute;
  left:12px;
  right:12px;
  z-index:50;
  display:flex;
  align-items:flex-start;
  pointer-events:none;
}

.product-topleft{
  top:12px;
}

.product-bottomleft{
  bottom:12px;
}

.product-badges{
  display:flex;
  flex-flow:row wrap;
  align-items:flex-start;
  gap:6px;
  max-width:100%;
  margin:0;
  pointer-events:none;
}

.product-badges:empty{
  display:none;
}

.product-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  max-width:100%;
  min-height:24px;
  margin:0;
  padding:5px 9px;
  border:1px solid transparent;
  border-radius:var(--regos-vm-radius-pill);
  color:#fff;
  background:var(--regos-accent,#4d6b97);
  box-shadow:none;
  font-size:.68rem!important;
  font-weight:750;
  line-height:1;
  letter-spacing:0;
  text-align:center;
  text-shadow:none;
  text-transform:none;
  vertical-align:baseline;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.product-badge i{
  flex:0 0 auto;
  font-size:.9em;
  line-height:1;
}

.product-badge-sm{
  min-height:22px;
  padding:4px 8px;
  font-size:.64rem!important;
  font-weight:750;
}

.product-badge-xl{
  min-height:30px;
  padding:7px 12px;
  font-size:.78rem!important;
  font-weight:800;
}

.product-badge-featured{
  border-color:var(--regos-vm-badge-featured-border)!important;
  color:var(--regos-vm-badge-featured-text)!important;
  background:var(--regos-vm-badge-featured-bg)!important;
}

.product-badge-sales{
  border-color:var(--regos-vm-badge-sales-border)!important;
  color:var(--regos-vm-badge-sales-text)!important;
  background:var(--regos-vm-badge-sales-bg)!important;
}

.product-badge-top{
  border-color:var(--regos-vm-badge-top-border)!important;
  color:var(--regos-vm-badge-top-text)!important;
  background:var(--regos-vm-badge-top-bg)!important;
}

.product-badge-new{
  border-color:var(--regos-vm-badge-new-border)!important;
  color:var(--regos-vm-badge-new-text)!important;
  background:var(--regos-vm-badge-new-bg)!important;
}

@media(max-width:575.98px){
  .product-topleft,
  .product-bottomleft{
    left:8px;
    right:8px;
  }

  .product-topleft{
    top:8px;
  }

  .product-bottomleft{
    bottom:8px;
  }

  .product-badges{
    gap:4px;
  }

  .product-badge,
  .product-badge-sm,
  .product-badge-xl{
    min-height:20px;
    max-width:100%;
    padding:4px 7px;
    font-size:.58rem!important;
    font-weight:750;
  }
}

.fancybox-is-open .fancybox-bg{
  opacity:.62;
}

.fancybox-slide--html:has(.popup-cart){
  padding:18px;
}

.fancybox-slide--html .fancybox-content{
  border-radius:var(--regos-vm-radius-surface)!important;
  box-shadow:0 24px 64px rgba(31,42,68,.18)!important;
}

.fancybox-slide--html .fancybox-content:has(.popup-cart){
  width:min(620px,calc(100vw - 28px));
  padding:0!important;
  background:#fff;
  overflow:hidden!important;
}

#facebox .popup:has(.popup-cart){
  width:min(620px,calc(100vw - 28px));
  padding:0!important;
  border-radius:var(--regos-vm-radius-surface)!important;
  background:#fff;
  box-shadow:0 24px 64px rgba(31,42,68,.18)!important;
  overflow:hidden;
}

#facebox .popup{
  border-radius:var(--regos-vm-radius-surface)!important;
  box-shadow:0 24px 64px rgba(31,42,68,.18)!important;
  overflow:hidden;
}

#facebox .content{
  border-radius:inherit;
  overflow:hidden;
}

.fancybox-slide--html .fancybox-close-small{
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  padding:8px;
  border-radius:50%;
  background:var(--regos-vm-soft);
  color:var(--regos-vm-text);
}

.fancybox-slide--html .fancybox-close-small:hover{
  background:var(--regos-accent,#4d6b97);
  color:#fff;
}

.fancybox-content .popup-cart,
#facebox .popup-cart{
  width:100%;
  max-width:100%;
  max-height:calc(100vh - 36px);
  margin:0;
  padding:30px!important;
  color:var(--regos-vm-text);
  overflow:auto;
}

.popup-cart h3.title{
  margin:0 44px 18px;
  color:var(--regos-vm-text);
  font-size:1.2rem;
  line-height:1.35;
  font-weight:600;
}

.popup-cart h3.title span{
  display:inline;
}

.popup-cart .item-wrap{
  display:flex;
  align-items:center;
  gap:18px;
  width:100%;
  margin:0;
  padding:16px;
  border:1px solid var(--regos-vm-border);
  border-radius:var(--regos-vm-radius-card);
  background:var(--regos-vm-soft);
  overflow:hidden;
  text-align:left;
}

.popup-cart .item-img{
  flex:0 0 132px;
  float:none;
  margin:0;
}

.popup-cart .item-img img{
  display:block;
  width:100%;
  max-width:132px;
  border-radius:18px;
  background:#fff;
}

.popup-cart .item-wrap .item-name{
  flex:1 1 220px;
  min-width:0;
  color:var(--regos-vm-text);
  font-size:1rem;
  font-weight:600;
  line-height:1.35;
  text-align:left!important;
  float:none!important;
}

.popup-cart .popup-cart-product-quantity{
  color:#667085;
  font-size:.86rem;
  text-align:left!important;
  float:none!important;
}

.popup-cart .item-wrap .vm-price-box{
  flex:1 1 100%;
  display:flex;
  align-items:baseline;
  gap:10px;
  width:auto;
  line-height:1.2;
  text-align:left!important;
  float:none!important;
}

.popup-cart .item-wrap .vm-price-box ins,
.popup-cart .item-wrap .vm-price-box del{
  float:none;
  margin:0;
  line-height:1.2;
  letter-spacing:0;
}

.popup-cart .item-wrap .vm-price-box ins{
  color:var(--regos-danger,#951111);
  font-size:1.12rem;
  font-weight:700;
  text-decoration:none;
}

.popup-cart .item-wrap .vm-price-box del{
  color:var(--regos-muted-soft,#98a2b3);
  font-size:.92rem;
}

.popup-cart .button-group{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:20px 0 0;
  text-align:initial;
}

.popup-cart .button-group .continue_link,
.popup-cart .button-group .showcart{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  margin:0!important;
  padding:0 18px;
  float:none;
  border-radius:var(--regos-vm-radius-pill);
  line-height:1.2;
  font-weight:600;
  text-align:center;
  text-decoration:none;
  white-space:normal;
}

.popup-cart .button-group .continue_link:before{
  flex:0 0 auto;
  margin:0 8px 0 0;
}

.popup-cart .button-group .continue_link{
  background:var(--regos-accent,#4d6b97);
  color:#fff;
}

.popup-cart .button-group .showcart{
  background:var(--regos-danger,#951111);
  color:#fff;
}

.popup-cart .button-group .continue_link:hover,
.popup-cart .button-group .showcart:hover{
  background:var(--regos-text-soft,#353f4f);
  color:#fff;
}

@media(max-width:640px){
  .fancybox-slide--html:has(.popup-cart){
    padding:10px;
  }

  .fancybox-content .popup-cart,
  #facebox .popup-cart{
    padding:22px!important;
  }

  .popup-cart h3.title{
    margin:0 38px 16px 0;
    text-align:left;
  }

  .popup-cart .item-wrap{
    align-items:flex-start;
    gap:14px;
    padding:14px;
  }

  .popup-cart .item-img{
    flex-basis:96px;
  }

  .popup-cart .item-img img{
    max-width:96px;
  }

  .popup-cart .button-group{
    grid-template-columns:1fr;
  }
}
