/* WooCommerce Product Loop */
.woocommerce .products.columns-1,
.woocommerce .products.columns-2,
.woocommerce .products.columns-3,
.woocommerce .products.columns-4,
.woocommerce .products.columns-5,
.woocommerce .products.columns-6 {
  display:               grid;
  gap:                   1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.et_pb_shop ul.products.columns-1 li.product,
.et_pb_shop ul.products.columns-2 li.product,
.et_pb_shop ul.products.columns-3 li.product,
.et_pb_shop ul.products.columns-4 li.product,
.et_pb_shop ul.products.columns-5 li.product,
.et_pb_shop ul.products.columns-6 li.product {
  width:         100% !important;
  margin-right:  0 !important;
  margin-bottom: 0 !important;
}

.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
  content: none;
}

@media (min-width: 992px) {

  .woocommerce .products.columns-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

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

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

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

  .woocommerce .products.columns-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .woocommerce .products.columns-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

}

.is-server-type-regular .products > .product.product-server-type-classic {
  display: none;
}

.is-server-type-classic .products > .product.product-server-type-regular {
  display: none;
}

/* Server Type Select */
@media (min-width: 992px) {
  .server-type-select-heading > .et_pb_text_inner {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
  }

  .server-type-select-heading > .et_pb_text_inner > :where(h1, h2, h3, h4, h5, h6) {
    margin:  0;
    padding: 0;
  }

  .server-type-select-parent .select2-container {
    width:     auto !important;
    min-width: 256px;
  }

  .server-type-select-parent .select2-container {
    margin-top: 0;
  }
}

.server-type-select-parent .select2-selection.select2-selection--single {
  max-width: none;
}

.server-type-select-parent .select2-container--default .select2-selection--single {
  position:         relative;
  padding-left:     1.5rem;
  border-color:     #ffffff;
  border-radius:    .875rem;
  background-color: #2a2f33;
}

.server-type-select-parent .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,
.server-type-select-parent .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
  border-radius: .875rem;
}

.server-type-select-parent .select2-container--default .select2-selection--single:before {
  position:              absolute;
  top:                   50%;
  left:                  .5rem;
  display:               inline-block;
  width:                 1.125rem;
  height:                1.125rem;
  content:               '';
  transform:             translateY(-50%);
  background-color:      #ffffff;
  -webkit-mask-image:    url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="19" height="17" viewBox="0 0 19 17" fill="none"><path d="M2.5 16.6309V9.63086H0.5V7.63086H6.5V9.63086H4.5V16.6309H2.5ZM2.5 5.63086V0.630859H4.5V5.63086H2.5ZM6.5 5.63086V3.63086H8.5V0.630859H10.5V3.63086H12.5V5.63086H6.5ZM8.5 16.6309V7.63086H10.5V16.6309H8.5ZM14.5 16.6309V13.6309H12.5V11.6309H18.5V13.6309H16.5V16.6309H14.5ZM14.5 9.63086V0.630859H16.5V9.63086H14.5Z" fill="white"/></svg>');
  mask-image:            url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="19" height="17" viewBox="0 0 19 17" fill="none"><path d="M2.5 16.6309V9.63086H0.5V7.63086H6.5V9.63086H4.5V16.6309H2.5ZM2.5 5.63086V0.630859H4.5V5.63086H2.5ZM6.5 5.63086V3.63086H8.5V0.630859H10.5V3.63086H12.5V5.63086H6.5ZM8.5 16.6309V7.63086H10.5V16.6309H8.5ZM14.5 16.6309V13.6309H12.5V11.6309H18.5V13.6309H16.5V16.6309H14.5ZM14.5 9.63086V0.630859H16.5V9.63086H14.5Z" fill="white"/></svg>');
  -webkit-mask-size:     contain;
  mask-size:             contain;
  -webkit-mask-repeat:   no-repeat;
  mask-repeat:           no-repeat;
  -webkit-mask-position: center;
  mask-position:         center;
}

.server-type-select-parent .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-top-color: #ffffff;
}

.server-type-select-parent .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-bottom-color: #ffffff;
}

.server-type-select-parent .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #ffffff;
}

.server-type-select-parent .select2-container {
  margin-top: .5rem;
}

.server-type-select-parent .select2-dropdown {
  border-color: var(--bs-primary);
}

.server-type-select-parent .select2-container--open .select2-dropdown--below {
  overflow:      hidden;
  border-top:    1px solid var(--bs-primary);
  border-radius: .5rem;
}

.server-type-select-parent .select2-container--default .select2-results > .select2-results__options {
  padding:    0;
  list-style: none;
}

.server-type-select-parent .select2-results__option {
  display:     flex;
  align-items: center;
  padding:     .675rem 1rem;
  white-space: nowrap;
}

.server-type-select-parent .select2-results__option:before {
  display:          inline-block;
  flex-shrink:      0;
  width:            .625rem;
  height:           .625rem;
  margin:           .375rem 1rem .375rem .375rem;
  content:          '';
  transition:       background-color .15s ease-in-out, outline-color .15s ease-in-out;
  border-radius:    50%;
  outline:          .125rem solid currentColor;
  outline-offset:   .25rem;
  background-color: transparent;
}

.server-type-select-parent .select2-results__option--highlighted:before,
.server-type-select-parent .select2-results__option[aria-selected='true']:before {
  background-color: currentColor;
}

.server-type-select-parent .select2-results__option:not(:last-child) {
  border-bottom: 1px solid #ccd1d2;
}

.server-type-select-parent .select2-results__option--highlighted,
.server-type-select-parent .select2-results__option[aria-selected='true'] {
  background-color: #2a2f33 !important;
}

/* Server Type Change Dialog */
.server-type-change-dialog p {
  padding: 0;
}

.server-type-change-dialog p:last-child,
.server-type-change-dialog ul:last-child {
  margin-bottom: 0;
}

.server-type-change-dialog ul {
  padding-left: 1.125rem;
  list-style:   disc outside none;
}

.ui-widget-overlay {
  opacity:          .5;
  background-color: #000000;
}

.server-type-change-dialog-widget.ui-dialog .ui-dialog-title {
  font-size: 1.125rem;
}

.server-type-change-dialog-widget.ui-widget {
  font-family:      inherit;
  overflow:         hidden;
  padding:          0;
  border:           none;
  border-radius:    1rem;
  background-color: var(--light-background);
}

.server-type-change-dialog-widget.ui-dialog .ui-dialog-content {
  padding: .5rem 1rem;
}

.server-type-change-dialog-widget.ui-dialog .ui-dialog-titlebar {
  padding:          .5rem 1rem;
  border:           none;
  background-color: transparent;
}

.server-type-change-dialog-widget .ui-widget-header {
  color: var(--contrast-primarly-color);
}

.server-type-change-dialog-widget .ui-dialog-titlebar-close {
  display: none !important;
}

.server-type-change-dialog-widget .ui-widget-content {
  color:            var(--contrast-primarly-color);
  background-color: transparent;
}

.server-type-change-dialog-widget.ui-dialog .ui-dialog-buttonpane {
  margin-top: .5rem;
  padding:    0 1rem 1rem;
  border:     none;
}

.server-type-change-dialog-widget.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  display: grid;
  width:   100%;
  gap:     1rem;
}

.server-type-change-dialog-widget.ui-dialog .ui-dialog-buttonpane button {
  font-family:      inherit;
  font-weight:      700;
  display:          flex;
  align-items:      center;
  flex-grow:        1;
  justify-content:  center;
  box-sizing:       border-box;
  margin:           0;
  padding:          10px 15px;
  text-decoration:  none;
  color:            var(--text-color);
  border:           none;
  border-radius:    var(--border-radius);
  background-color: var(--primary-color);
}