  /* Thumbnails vertical slider */
    .thumbs-carousel {
        max-height: 440px;
        overflow-y: auto;
    }
    .thumbs-carousel img {
        cursor: pointer;
        margin-bottom: 10px;
        border: 2px solid transparent;
        border-radius: 5px;
    }
    .thumbs-carousel img.active {
        border: 2px solid #dc3545;
    }

   /* Main image zoom */
    .product-gallery {
        width: 100%;
        height: 100%;
        overflow: hidden;
        border-radius: 5px;
        position: relative;
    }
    .product-gallery img {
        width: 100%;
        height: auto;
        transition: transform 0.3s ease, transform-origin 0.3s ease;
        display: block;
    }
    .product-gallery:hover img {
        transform: scale(2); /* zoom amount */
    }

    /* Price */
    .product-price {
        font-size: 28px;
        font-weight: bold;
        color: #c00;
    }

    /* Sizes with underline effect */
    .sizes .size-btn {
        border: none;
        background: none;
        font-weight: 500;
        margin-right: 15px;
        padding: 5px 10px;
        cursor: pointer;
        position: relative;
    }
    .sizes .size-btn.active::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -3px;
        width: 100%;
        height: 2px;
        background: #dc3545;
    }

    /* Quantity input */
    .quantity-box {
        display: flex;
        align-items: center;
    }
    .quantity-box button {
        border: 1px solid #ccc;
        background: #f8f9fa;
        width: 35px;
        height: 35px;
        font-size: 18px;
    }
    .quantity-box input {
        width: 60px;
        text-align: center;
        border: 1px solid #ccc;
        margin: 0 5px;
    }

    /* Tabs */
    .nav-tabs .nav-link {
        font-weight: 600;
        color: #333;
        border: none;
        border-bottom: 3px solid transparent;
    }
    .nav-tabs .nav-link.active {
        color: #dc3545;
        border-bottom: 3px solid #dc3545;
        background: none;
    }
    .tab-content {
        border: 1px solid #eee;
        border-top: none;
        padding: 20px;
    }

    /* Related products */
    .related-products img {
        width: 100%;
        border-radius: 5px;
    }
    .related-products h6 {
        font-size: 14px;
        margin-top: 10px;
    }


     .size-options {
      display: inline-flex;
      gap: 10px;
      align-items: center;
    }
    .size-label {
      position: relative;
      cursor: pointer;
      font-weight: 500;
    }
    .size-label input[type="radio"] {
      display: none;
    }
    .size-label span {
      padding-bottom: 2px;
      border-bottom: 2px solid transparent;
      transition: all 0.2s ease;
    }
    .size-label input[type="radio"]:checked + span {
      border-bottom: 2px solid #092238;
      color: #092238;
      border: 1px solid #ccc;
      padding: 5px;
      border-radius: 3px;
    }


    .star-rating {
        direction: rtl;
        display: inline-flex;
        gap: 4px;
        font-size: 1.8rem;
        cursor: pointer;
      }
      .star-rating input {
        display: none;
      }
      .star-rating label {
        color: #ccc;
        transition: color 0.2s;
      }
      .star-rating input:checked ~ label,
      .star-rating label:hover,
      .star-rating label:hover ~ label {
        color: #ffc107;
      }

       .loading-spinner {
            width: 16px;
            height: 16px;
            border: 2px solid #fff;
            border-top: 2px solid transparent;
            border-radius: 50%;
            display: inline-block;
            margin-right: 6px;
            animation: spin 0.8s linear infinite;
          }

          @keyframes spin {
            100% {
              transform: rotate(360deg);
            }
          }