.t4-palette-dark_2 {
  background-color: #000000 !important;
  color: #000000;
}

.t4-offcanvas .t4-off-canvas-header a img {
  max-height: 4.5rem;
  outline: none;
}

.form-control {
  max-width: 100%;
}

.form-check-input[type="checkbox"], .form-check-input[type="radio"] {
  border-color: #000;
}

/* Product column wrapper */
.j2store-products-row > div {
    display: flex;
    margin-bottom: 18px;
}

/* Product card: GRID ONLY */
.j2store-products-row .j2store-single-product {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
    padding: 12px;
    background: #fff;
    transition: all 0.2s ease;
}

/* Subtle hover effect */
.j2store-products-row .j2store-single-product:hover {
    border-color: #999;
    box-shadow: 0 3px 10px rgba(0,0,0,.08);
}

/* Product title cleanup */
.j2store-products-row .j2store-single-product .product-title,
.j2store-products-row .j2store-single-product .j2store-product-title {
    margin: 8px 0;
    font-weight: 600;
    line-height: 1.3;
    font-size: clamp(15px, 1.8vw, 20px);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center;
}

/* Price area alignment */
.j2store-products-row .j2store-single-product .product-price-container,
.j2store-products-row .j2store-single-product .j2store-product-price {
    margin-top: auto;
    padding-top: 10px;
    font-weight: 600;
}

/* Button spacing */
.j2store-products-row .j2store-single-product .btn,
.j2store-products-row .j2store-single-product .j2store-cart-button {
    margin-top: 8px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 1.3;
    color: #000000;
    text-decoration: none;
}

.btn.btn-success:hover {
  opacity: 0.85;
}

.btn.btn-success {
  background-color: #ffdf02;
  border-color: #06b2f1;
}

.j2store-addtocart-form {
  margin-top: 10px;
  display: block;
  margin: 0 auto 0;
  text-align: center;
  width: fit-content;
}

.product-title a,
.vm-product-title a,
.product_name a {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 200;
    letter-spacing: 0.5px;
    line-height: 1.3;
    color: #000000;
    text-decoration: none;
}

.product-title a:hover,
.vm-product-title a:hover,
.product_name a:hover {
    color: #000000;
    opacity: 0.7;
}

.product-title a,
.vm-product-title a,
.product_name a {
    display: block;              /* required */
    white-space: nowrap;         /* force one line */
    overflow: hidden;            /* hide overflow */
    text-overflow: ellipsis;     /* add ... */
}

.product-title,
.vm-product-title,
.product_name {
    width: 100%;
}

.product-title a,
.vm-product-title a,
.product_name a {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* QUICK VIEW / MODAL RESET */
.j2store-quickview .j2store-single-product,
.modal .j2store-single-product {
    display: block !important;
    flex: none !important;
    height: auto !important;
    min-height: 0 !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: none !important;
}

/* Prevent hover styles inside quick view */
.j2store-quickview .j2store-single-product:hover,
.modal .j2store-single-product:hover {
    border-color: transparent !important;
    box-shadow: none !important;
}

/* Quick view titles should behave normally */
.j2store-quickview .product-title,
.j2store-quickview .j2store-product-title,
.modal .product-title,
.modal .j2store-product-title {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    font-size: inherit !important;
    margin: 8px 0 !important;
}

/* Quick view add-to-cart/button safety */
.j2store-quickview .btn,
.j2store-quickview .btn.btn-default,
.modal .btn,
.modal .btn.btn-default {
    white-space: normal;
    max-width: 100%;
    box-sizing: border-box;
}

/* Mid-range screen fix */
@media (min-width: 768px) and (max-width: 1100px) {
    .j2store-quickview .btn,
    .j2store-quickview .btn.btn-default,
    .modal .btn,
    .modal .btn.btn-default {
        display: block;
        width: 100%;
}

