/* ============================= */
/* PRODUCT GALLERY */
/* ============================= */

.product-gallery ol.flex-control-nav.flex-control-thumbs {
   list-style: none;
   display: flex;
   padding: 0;
   flex-wrap: wrap;
   gap: 16px;
   margin-top: 18px;
   cursor: pointer;
}

a.woocommerce-product-gallery__trigger {
   position: absolute;
   right: 31px;
   z-index: 99;
   top: 16px;
}

.woocommerce-product-gallery__wrapper a img {
   width: 100%;
   object-fit: contain;
   height: 100%;
}

/* ===============================
   PRODUCT INFO WRAPPER
================================= */
.product-info {
   padding-left: 20px;
}

@media (max-width: 991px) {
   .product-info {
      padding-left: 0;
   }

   .woocommerce-product-gallery__wrapper a img {
      max-height: 450px;
   }
}

/* ===============================
   SHORT DESCRIPTION
================================= */
.product-short-desc {
   font-size: 14px;
   color: #6b7280;
   line-height: 1.6;
}

/* ===============================
   PRICE
================================= */
.product-price {
   display: flex;
   align-items: center;
   gap: 10px;
}

.product-price .amount {
   font-size: 26px;
   font-weight: 700;
   color: #111827;
}

/* sale price */
.product-price del .amount {
   color: #9ca3af;
   font-size: 16px;
}

.trade-price-original .product-price ins {
   text-decoration: none;
}

.product-price ins {
   text-decoration: none;
}

.product-price del {
   text-decoration: line-through;
   font-size: 15px;
}

/* ===============================
   SKU + META
================================= */
.product-sku {
   font-size: 15px;
   color: #6b7280;
}

.product-sku strong {
   letter-spacing: 0.05em;
   color: #111827;
}

/* ===============================
   CATEGORY
================================= */
.product-categories {
   font-size: 13px;
}

.product-categories a {
   color: #2563eb;
   text-decoration: none;
   transition: 0.2s;
}

.product-categories a:hover {
   text-decoration: underline;
}

/* ===============================
   PRODUCT CHOICE (VARIATIONS)
================================= */

.add-to-cart-wrapper h6 {
   font-size: 11px;
   letter-spacing: 0.08em;
}

/* variation dropdown */
.variations select {
   width: 100%;
   padding: 10px 12px;
   border-radius: 8px;
   border: 1px solid #d1d5db;
   font-size: 14px;
   background: #fff;
   transition: 0.2s;
}

.variations select:focus {
   outline: none;
   border-color: #111827;
   box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}

/* variation label */
.variations label {
   font-size: 13px;
   font-weight: 500;
   margin-bottom: 6px;
   display: block;
}

/* clear button */
.reset_variations {
   font-size: 12px;
   color: #2563eb;
   text-decoration: none;
}

/* ===============================
   STOCK
================================= */
.stock {
   font-size: 13px;
   font-weight: 500;
   margin-top: 6px;
}

.stock.in-stock {
   color: #16a34a;
}

.stock.out-of-stock {
   color: #dc2626;
}

/* ===============================
   QUANTITY + ADD TO CART
================================= */
.quantity {
   display: inline-flex;
   border: 1px solid #d1d5db;
   border-radius: 8px;
   overflow: hidden;
}

table.variations td.value {
   display: flex;
   gap: 15px;
   align-items: center;
   margin-left: 10px;
}

.quantity input {
   width: 80px;
   text-align: center;
   border: none;
   outline: none;
   font-size: 14px;
   padding: 12px 18px;
}

/* add to cart button */
.single_add_to_cart_button {
   background: #00AEEF;
   color: #fff;
   border: none;
   padding: 12px 18px;
   border-radius: 8px;
   font-weight: 600;
   transition: 0.25s;
   margin-left: 10px;
}

.single_add_to_cart_button:hover {
   background: #221f70;
   transform: translateY(-1px);
}

/* ===============================
   DOCUMENTATION BLOCK
================================= */
.product-documents {
   background: #f9fafb;
   border: 1px solid #e5e7eb;
   border-radius: 12px;
}

.product-documents h5 {
   font-size: 20px;
}

.product-documents ul li a {
   padding: 8px 0 10px;
   border-radius: 8px;
   transition: 0.2s;
}

.product-documents ul li a:hover {
   background: #eef2ff;
   color: #1d4ed8;
}

/* ===============================
   MICRO INTERACTIONS
================================= */
.product-info a {
   transition: all 0.2s ease;
}

.product-info a:hover {
   opacity: 0.85;
}

.single_add_to_cart_button.is-sticky {
   position: fixed;
   bottom: 20px;
   right: 20px;
   z-index: 999;
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.single_variation_wrap {
   margin: 20px 0;
}

form.cart {
   margin-bottom: 15px;
}

/* ============================= */
/* Related products*/
/* ============================= */

.related {
   margin-top: 60px;
   position: relative;
}

.related .products {
   list-style: none;
   padding: 0;
   margin: 0 -12px;

}

.related .slick-track {
   display: flex !important;
}

.related .slick-slide {
   height: auto;
   display: flex !important;
   justify-content: space-between;
}

.related .slick-list.draggable {
   overflow: hidden;
}

.related .products .product {
   padding: 12px;
   margin: 10px;
   box-sizing: border-box;
}

.related .product {
   background: #fff;
   overflow: hidden;
   transition: all 0.3s ease;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
   height: 100%;
   display: flex;
   flex-direction: column;
}

.related .product:hover {
   transform: translateY(-6px);
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.related .product img {
   width: 100%;
   object-fit: cover;
   background: #f9fafb;
}

.related .product a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
   position: relative;
}

.related .product .product-short-desc {
   margin: 12px 16px 6px;
}

.related .woocommerce-loop-product__title {
   font-size: 16px;
   font-weight: 600;
   color: #1e293b;
   margin: 12px 16px 6px;
   line-height: 1.4;
   min-height: 44px;
}

.related .price {
   font-size: 18px;
   font-weight: 700;
   color: var(--color-primary);
   margin: 0 16px 12px;
}

.related .button {
   margin: 15px 16px 16px;
   padding: 10px 14px;
   border-radius: 8px;
   background: #0ea5e9;
   color: #fff;
   text-align: center;
   font-size: 14px;
   font-weight: 500;
   transition: all 0.25s ease;
}

.related .button:hover {
   background: #221f70;
}

/* Hide default text */
.related .slick-prev,
.related .slick-next {
   font-size: 0;
}

/* Custom circular arrows */
.related .slick-prev,
.related .slick-next {
   position: absolute;
   top: -50px;
   width: 42px;
   height: 42px;
   border-radius: 50%;
   background: #fff;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
   z-index: 10;
   display: flex !important;
   align-items: center;
   justify-content: center;
   transition: 0.3s;
}

.related .slick-prev:hover,
.related .slick-next:hover {
   background: var(--color-primary);
}

.related .slick-prev::before,
.related .slick-next::before {
   font-family: "slick";
   font-size: 18px;
   color: #111;
}

.related .slick-prev:hover::before,
.related .slick-next:hover::before {
   color: #fff;
}

/* Position */
.related .slick-prev {
   right: 60px;
   left: auto;
}

.related .slick-next {
   right: 0;
}

.custom-arrow i {
   color: #000;
   font-size: 25px;
}

.related .slick-prev:hover i,
.related .slick-next:hover i {
   color: #fff;
}

span.posted_in {
   display: block;
   margin: 15px 0;
   font-weight: 500;
}

span.tagged_as {
   display: block;
   font-weight: 500;
}

span.posted_in a,
span.tagged_as a {
   font-weight: 400;
}

table.woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value {
   padding-left: 15px;
}

table.woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value p {
   margin-bottom: 0;
}

#productTabs .nav-link {
   color: var(--color-primary);
}

#productTabs .nav-link.active {
   color: var(--color-secondary);
}


/* ============================= */
/* Media */
/* ============================= */
